目录:
多人开发结束后,开发者通过开发者个人分支提交代码在Dev层进行合并,解决代码冲突问题。解决冲突之后,在Test层由测试人员进行测试。在Test之后可能还有不同部门的开发内容进行合并,合并后交给测试人员进行测试。测试得到稳定版本,上传到Master分支,有运营进行软件的部署和上线,
那么如何生成Key呢?
命令行中输入代码:ssh-keygen -t rsa -C “email”
填写自己的 email
之后会在 ~/.ssh
目录下,生成 id_rsa_XXX(公钥)
和 id_rsa_XXX.pub(私钥)
文件。
使用 cat id_rsa_XXX.pub
使用打开私钥文件,将打开的字符串粘到 Key
的位置即可。
当想使用多个身份(比如个人和公司)进行 clone
代码时,可以配置 .ssh
中的 config
文件。
这样就可以使用不同的身份去 clone
代码了。
代码下载
git clone + 路径
编辑文件完成,使用 git status 进行代码追踪,可以看到已修改的未提交代码。
代码提交
使用 git add a.txt
或者 git add .
将修改代码添加到源代码中
git commit - m “注释语句”
将代码提交在本地
在使用 git push + 路径
提交本地的代码到分支。
如果注释错误,可以使用 git commit —amend -m “新的代码注释”
进行修改
冲突解决方法
多文件同时提交时产生的冲突解决方法:
使用 git pull
将已上传的代码再拉到本地,然后可以使用 ll
或者 git status
进行查询,再使用 git push
将代码提交。
同一文件提交时产生冲突的解决方法:
使用 git pull
下拉同一个文件,,这是一个冲突文件,两行箭头之间的信息为冲突信息。====
上边为自己的信息,下边为冲突信息,最后一行箭头后边为提交 ID
。处理完冲突使用 add
,commit
和 push
指令提交代码即可。
日志操作
查询日志的三个操作:
git reflog
:查看操作历史
git log
:查看提交信息,比操作历史更详细。
git log —pretty=oneline
:可以查询更详细的 commit id 加修改注释
tag
可以针对某一时间点的版本打标签之后进行发布
操作:git tag -a 版本号 -m “注释”
将上线版本打标签上线
例如:git tag -a v1 -m “上线v1版本”
操作:git tag
查询所有上线版本
git show v1
查询v1版本的详细信息
解决 tag 冲突的问题:
不能使用解决代码冲突的方式来解决 tag 冲突的问题!!!
解决方法:git push origin 版本号
推送多个标签时可以使用 git push origin —tags
版本回退
git reset —hard HEAD^
回退到上一个版本
git reset —hard HEAD^^
会退到上两个版本
git reset —hard HEAD 版本号(commit id)
可以回退到指定的版本
git reset —hard HEAD~100
退回到之前的几个版本
然后使用 git pull
拉回代码即可
分支的操作
git branch -a
查看远程分支
git branch 分支名
创建本地分支
创建完成之后需要将分支推到远程:
git checkout 分支名
切换到创建的分支
使用 git add.,git commit -m “备注信息”
,然后使用 git push —set-upstream origin 分支名
如何解决分支冲突:git pull 可以拉下分支
合并分支:
git checkout master
切换到主分支
git merge 分支名
将分支合并到了主分支上
合并分支时如果产生冲突,解决方法和上传时产生冲突一样。
删除分支
git branch -d 分支名
删除本地分支
git push origin :分支名
推送到远程(注意不能忘记冒号前的空格)