1、git基本操作
在项目中协同开发的时候,会遇到你更新代码之后开发阶段中,同事提交了新的代码,但是你本地代码还未更新同事最新提交的代码,如果直接提交,会产生冲突,这个时候需要先将本地最新的代码暂存起来,然后pull,之后再将暂存的代码释放,然后提交。
完整的流程:
- 1.git stash save "save XXXX" (将本地代码回滚至上次提交的时候)
- 2.git stash list (查看暂存的list)
- 3.git pull (将远程代码拉下来更新为最新的代码)
- 4.git stash pop (将第一步的回滚代码释放出来,相当于对本地代码和远程代码进行合并)
- 5.git add . (正常的添加,提交推送代码到远程)
- git commit -m "注释"
- 7.git push origin xx
-
8 删除分支 git branch -d 分支名
删除本地分支
-d 是-delete的缩写
强制删除本地分支 git branch -D 分支名
-D 是 -delete -force的缩写 -
9 删除远程分支 git push origin --delete 远程分支名
该命令行会追踪删除分支
删除远程分支
2、第一次使用git相关配置
(1)git 初始化
- git init
(2)配置用户名和邮箱
- git config --global user.name "XXX"
- git config --global user.email "XXX"
(3)配置免密登录
- ssh-keygen -t rsa -C “XX@qq.com” 三次回车
(4)查看完整秘钥内容
- cat ~/.ssh/id_rsa.pub
(5)将密钥复制到git上面的ssh公钥里面去

image.png
(6)用如下命令查看是否设置远程密钥连接成功
- ssh -T git@gitee.com
3、git commit 回滚操作
git commit添加注释的时候发现注释信息写错了,想要回滚commit,然后再提交。
-
(1)git log 查看日志
image.png -
(2)git reset --soft HEAD^
或者 git reset --softcommit后那一串^
image.png (3)git status 查看状态,已经变为添加未提交,之后重新commit,然后push就ok了。
4.git 第一次拉代码并切换分支操作
- (1)初始化本地git仓库
git init - (2)从git远程仓库克隆代码
git clone xxx - (3) 创建并切换本地分支
git checkout -b xx - (4)将远程地址添加为origin
git remote add origin url地址 - (5)拉取远程仓库分支代码到本地仓库
git pull origin feature
4.1 补充操作
-
(1)查看当前分支
git branch
image.png -
(2)本地合并两个不同的分支(当前在feature分支,将release分支合并过来)
git merge release
image.png
- 注意:一般都是先在release分支git pull 之后切换会feature分支,将release分支合并到feature分支上
- 为什么必须将release分支先合并到feature上是因为,release分支测试出的问题修改之后,不合到feature开发分支上时,会影响一些功能,例如登录在release分支加密,后端同步解密,但是feature分支不知道这个事情,就会出现无法登陆,所以先合并本地分支再进行开发。
- (3)在开发过程中会遇到测试问题,需要切换会测试分支修改,这个步骤如下:
- 1)暂存开发分支代码
git stash save "注释" - 2)切换到测试分支
git checkout release - 3) 修改代码,然后像平常一样add commit push
- 4)测试分支修改提交后,切换会开发分支
git checkout feature - 5)合并分支要在没有修改过的分支上进行,所有,在开发分支上先合并
git merge release - 6)合并完成之后,在开发分支pop一下暂存的代码,就可以继续开发了
git stash list---git stash pop stash@{0}
- 1)暂存开发分支代码
5、其他分支合并到master分支
- 1)修改主分支、本地提交,查看git提交历史,
- 2)增加新分支,本地提交
- 3)提交主分支到远程仓
- 4)提交新分支到远程仓
- 5)合并分支
# 切换到master分支
git checkout master
# 查看当前所有分支
git branch -a
# 查看master分支是否有需要提交的,先提交完成后,再合并分支
# 合并分支
git merge 分支名(如:feature)
# 合并过程中会有一个vim编辑框出现,让你填写合并的理由,可以不输入,直接‘:wq!’退出
# 本地合并完成后,推送到远程分支
git push
# 至此合并完成
5.1 两个非master分支合并
- 场景是将两个非master上的分支进行合并,并且不造成冲突。
比如现在有两个分支feature,release。现在将feature合并到release
首先及将feature分支上的代码clone下来,并且提交到新创建的分支back(这是为了不冲突)
提交到back后,本地新建一个release分支并将其与远程release分支进行关联。
切换到release分支。进行git merge back。
成功后再将merge的代码push到远程release分支。
这样就不用担心冲突了。





