注册使用gitlab新用户
在gitlab注册完账号后,创建项目,会有如下提示
点击add an SSHkey 现实如下:
点击generate it,按照提示计算ssh key
把结果粘贴到gitlab添加到ssh key 的位置,如下
回到创建的项目位置,根据页面提示,配置账号信息,拉取代码.如下图
这样可以正常使用,下面开始了解练习。
Git的三种重要模式,分别是已提交、已修改和已暂存:
- 已提交(committed):表示数据文件已经顺利提交到Git数据库中。
- 已修改(modified):表示数据文件已经被修改,但未被保存到Git数据库中。
- 已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git数据库中。
修改文件,add 加入暂存区,commit 提交到git数据库,这样就不怕丢失版本.盗图一张如下。
1.数据提交
mkdir local
cd local
#将已存在目录初始化成git管理工作目录
git init
编辑文件
echo "Initialization Git repository" > readme.txt
添加指定文件到暂缓区
git add readme.txt
git commit -m "描述"
没修改后要先加入到暂缓区在提交,即 修改1 >git add > 修改2 > git add > commit 或者 git commit -a
git status 查看文件状态
比较当前文件和版本库的差别
git diff readme.txt
可以用 工作目录/.gitignore 文件来排除不需要提交的文件,这样就可以用 git add . 来添加目录下的所有改过的文件到暂缓区
//忽略所有以.a为后缀的文件。 *.a //但是lib.a这个文件除外,依然会被提交。 !lib.a //忽略build目录内的所有文件。 build/ //忽略build目录内以txt为后缀的文件。 build/*.txt //指定忽略名字为git.c的文件。 git.c
如果确定文件修改,可以加 -a 参数跳过add 步骤git commit -a -m "Modified描2.移除文件
git add . 加入暂缓区
从暂缓区移除指定文件,工作目录中并未删除文件
git rm --cached 文件名
直接强制删除工作目录文件及缓存区文件
git rm -f 文件名
3.移动改名文件
把 文件名 a改成 b 查看状态会有rename操作
git mv a.txt b.txt
或者 直接把 a.txt 改成 c.txt 然后删除 a.txt 在添加add c.txt 到暂缓区 提交
3.历史记录
显示出每次提交的历史记录
git log
只查看最近2次历史
git log -2
-p参数 展示最近一次提交的数据差异
git log -p -1
--pretty参数,根据不同参数展示显示格式
git log --pretty=oneline
4.还原版本数据
git log --pretty=oneline
看到如下版本
fd3d78a6a0b76df7f5785623ecdb0ad9999f10ab 新版本
d19240ec7eb31a7abf20992416e6a509c84e703a 上版本
778c5bc7b96f2d7494396fd98b89bd5899a315d0 老版本
还原到以前老版本
git reset --hard 版本号
在当前版本下,查看未来版本记录
git reflog
在还原到相对当前版本的未来版本
git reset --hard 版本号
checkout 还原某个文件内容
当我们改动一个文件很多地方,发现更改错了,手动删除太麻烦,可以从暂缓区还原
git checkout -- 文件名
checkou规则是如果暂存区中有该文件,则直接从暂存区恢复,如果暂存区没有该文件,则将还原成最近一次文件提交时的快照
5.添加标签
给大版本打标签
git tag -a "v1.0" -m "标签描述" 版本号(默认是当前版本)
查看所有已有标签
git tag
查看指定标签内容
git show v.10(标签名)
删除标签
git tag -d v1.0
6.创建分支
创建分支demo
git branch demo
切换demo分支
git checkout demo
修改文件
echo "222" >> a.txt
git commit -a -m "分支提交"
查看分支列表
git branch
切换主分支
git checkout master
合并分支demo
git merge demo
查看内容确认后,删除demo分支
git branch -d demo
7.分支冲突解决
2个分支改动同一个文件
合并时不能快速自动合并,会提示冲突,需要手动解决
git checkout master
git merge demo 报告文件冲突
vi a.txt 查看冲突内容
Git用< <<<<<<,=======,>>>>>>>分割开了各个分支冲突的内容,我们需要手工的删除这些符号,并将内容改正确在提交。
修改冲突提交完成
查看合并线
git log --graph --pretty=oneline --abbrev-commit
放心删除分支demo
git branch -d demo
从远程git服务下载代码
git clone git@192.168.1.22:username/boot.git
修改完成后提交到远程
git push origin
参考 https://www.linuxprobe.com/chapter-21.html