工欲善其事必先利其器
git 常用操作汇总( clone、拉取、提交、分支、tag、回退代码 )
一、clone代码
流程---------获取远端git代码地址–进行clone
- 「获取远端地址」http://gitlab.haibian.com:8888/service-platform/backstage-evaluate.git (自行索取)
- 「clone」切换至对应目录 进行clone
git clone http://gitlab.haibian.com:8888/service-platform/backstage.git``git clone http://gitlab.haibian.com:8888/service-platform/backstage.git
二、拉取代码—提交
-
拉取 有两种 第一种 merge 第二种 rebase 如果团队有要求在拉取代码的时候要注意。详细请查看merge与rebase的区别(简单说其实就是,merge不美观但是可以看到时间节点清晰,rebase美观可以让自己的分支保持一条直线,最终效果都一样,我在的组强制使用rebase)
命令:1、 git pull 相当于 git fetch + git merge 2、 git pull --rebase 相当于 git fetch + git rebase
界面
idea 可以进行页面操作(我习惯用idea工具主要是为了解决冲突的时候比较清晰。)
-
提交 流程---------添加到暂存区–提交到本地仓库–提交到远端
命令:
1. 「添加到暂存区」git add .
2. 「提交到本地仓库」git commit -m 'comment'
3. 「提交到远端」git push
界面:
三、分支branch
新建分支流程---------创建新分支–切换分支–提交到本地–提交到远端
命令:
-
「创建分支」
git branch [branchName]
-
「切换分支」
git checkout [branchName]
-
「提交到本地」
git commit -m "hello world"
-
「提交到远端」
git push origin [branchName]
界面:
删除分支流程---------查看分支–删除本地分支–删除远端分支
- 「查看分支」
git branch -a
(remote/origin/master表示的是远程分支) - 「删除本地分支」
git branch -D [branchName]
- 「删除远端分支」
git push origin --delete [branchName]
四、回退版本
流程---------查看对应版本–进行回退–强制覆盖远端
- 「查看版本」
git log
- 「进行退回」
git reset --hard 631f96be00978bcc86a6ae88b8186514
- 「强制覆盖」
git push -f origin branchName
注意一般不强制推送master。master有默认保护不让强制覆盖,如果需要可以将设置关闭。
五、tag
建立tag流程---------查看对应版本–打tag–推送到远端
- 「查看对应版本」
git log
获取version(02a4667b5894a9c1ad604f5abd379ea1c42ba989) - 「打tag」
git tag [tagname] [version]
- 「推送到远端」
git push origin [tagname]
删除tag 流程---------查看对应tag–进行删除–推送到远端
- 「查看本机所有tag」
git tag
- 「查看指定tag信息」
git log [tagname]
- 「进行删除」
git tag -d [tagname]
- 「推送到远端」
git push origin [tagname]
六、cherry-pick
如果有一些场景需要将个别提交单独合并到另一个分支就可以用这个命令
- 「首先查看自己想要合并的提交id」
git log
(ac14db8737c1ea6428613676a80be787e66fd159) - 「第二步进行合并」
git cherry-pick ac14db8737c1ea6428613676a80be787e66fd159
- 「进行提交」
git push
七、合并提交
如果工作中遇到两个需求并行开发,需要来回切换分支,但是你要保存你当前分支的修改,所以你会出现多个commit提交,这样就会造成commit很多,有时候就需要合并成一个提交这样看的方便些。
合并多个提交