日常项目开发,提交代码(同一分支)
如果大家都在一个分支上做修改,那就是常说的:拉取、提交、推送
不熟练的话,建议实际操作如下:
- 拉取远端代码
git pull
- 确认目前文件的状态
git status -s
- 选择要提交的文件(这个点是全部文件的意思)
git add .
- 确认目前文件的状态
git status -s
- 提交代码(至本地仓库)
git commit -m "提交注释"
- 推送代码(至远端)
git push origin 分支名
例1:提交到远端develop分支就是:
git push origin develop
例2:提交到远端master分支就是:
git push origin master
日常项目开发,提交代码( 不同分支)
日常项目开发提交代码(不同分支)
如果大家自己的分支下,或功能分支下做开发,完成后才更新合并到主分支(一般主分支是develop分支)
那步骤就比较多,分2个分支操作:
自己分支:提交、推送
主分支:拉取、合并、提交、推送
自己分支:拉取、推送
我一般操作是:
一、自己分支,正常提交,自己分支取名一般都是
feature/XX功能(例:feature/首页开发功能)
dev-XXX(XXX是名字缩写,小钻风缩写就得xzf,例:dev-xzf)
- 拉取远端代码(一般不需要,因为自己分支不会有人动)
git pull
- 确认目前文件的状态
git status -s
- 选择要提交的文件(这个点是全部文件的意思)
git add .
- 确认目前文件的状态
git status -s
- 提交代码(至本地仓库)
git commit -m "提交注释"
- 推送代码(至远端)
git push origin 自己分支名
二、切换至主分支(要合并的分支)
-
自己分支切换到主分支
git checkout 主分支名
例:切换到本地develop分支
git checkout develop -
拉取远端代码(拉取远端主分支到本地主分支)
git pull
-
将本地自己的分支合并到本地主分支(可能会出现冲突)
git merge 自己分支名
例:把本地dev-xzf分支合并到本地develop分支
git merge dev-xzf -
推送代码到远端
git push origin 主分支名
例:把本地develop推送到远端develop分支
git merge develop
三、切换至自己分支
- 拉取远端主分支到本地自己分支
git pull origin 主分支名
例:拉取远端主分支(develop)到本地自己分支(dev-xzf)
git pull origin develop - 推送本地自己分支到远端自己分支
git push origin 自己分支名
例:推送自己分支代码
git push origin dev-xzf
个人原理理解:
假设场景:你开发A功能,其他同事开发的B、C功能已经提交到主分支了,最终都要有A、B、C功能
- (远端)主分支
- (本地)主分支
- (远端)自己分支
- (本地)自己分支
俗称最新代码,就是拥有ABC功能的代码。
- 在(本地)自己分支开发完新功能A,提交到远端自己的分支,此时:本地自己分支与远端自己分支一致,都有新功能A了
- 切换到主分支,拉取最新的主分支,主分支上有其他同事开发的B、C功能,此时:(本地)主分支与(远端 )主分支一致,都有新功能B、C了
- 把本地自己的分支合并到本地主分支上,此时:(本地) 主分支拥有了A、B、C功能
- 将本地主分支推送到远端,此时:(本地)主分支与(远端)主分支一致,拥有了A、B、C功能
- 到此为止,合并其实已经完成,下面是把本地自己分支代码也变成最新代码
- 切换到本地分支,拉取远端主分支到本地自己分支,此时:(远端 )主分支与(本地 )自己分支一致,(本地) 自己分支拥有了A、B、C功能
- 本地自己分支推送到远端自己分支,此时:(远端 )自己分支与(本地 )自己分支一致,(远端) 自己分支拥有了A、B、C功能,以便后期开发
提交前选取、丢弃文件
一般提交都是全部提交git add .
如果只想提交部分文件,先查看变更的文件git status
,
然后选取文件git add 绿色框里的文件
,如:选取最后一个,按Tab键可以自动补全
git add views/element/dayjs/index.vue
如果想把选中的,取消选中git restore --staged 绿色框里的文件
git restore --staged views/element/dayjs/index.vue
如果想丢弃文件,还原成更改前的样子git restore 绿色框里的文件
git restore App.vue
切换、新建、删除分支
查看分支
- 查看本地分支
git branch
- 查看远端分支
git branch -r
- 查看所有分支
git branch -a
新建分支
一般新建分支是先本地新建,然后推送到远端,让远端也有新建的这个分支
新建分支git checkout -b 分支名
,
推送分支到远端git push origin 分支名
例:基于master分支,新建一个develop分支,首先保证目前所在分支是master,基于哪个分支就切换到那个分支
git checkout -b develop
git push origin develop
切换分支
切换分支git checkout 分支名称
例:切换分支到develop分支
git branch -d dev-xzf
删除分支
- 删除本地分支
git branch -d 分支名称
,
例:删除本地dev-xzf 分支
git branch -d dev-xzf - 删除远端分支
git push origin --delete 分支名称
,
例:删除远端feature/首页功能 分支
git push origin --delete feature/首页功能