第一种:
git add .
git commit -m 'xxx'
git pull
git push
第二种:
git stash
git pull
git stash pop
git add .
git commit -m 'xxx'
git push
第一种提交会在 gitlab 上有一条 Merge XXX
的记录,第二种没有。这两种方法有什么区别?
第一种:
git add .
git commit -m 'xxx'
git pull
git push
第二种:
git stash
git pull
git stash pop
git add .
git commit -m 'xxx'
git push
第一种提交会在 gitlab 上有一条 Merge XXX
的记录,第二种没有。这两种方法有什么区别?
5 回答2.8k 阅读
3 回答2.6k 阅读
3 回答960 阅读
1.2k 阅读
第二种方式:
git pull
前先stash了更改,相当于你本地和远程的历史线是一致的,“没分叉“。至于为什么没有Merge xxx
的记录,是因为:git stash pop
的时候,不涉及任何commit log线变化,只是在pull之后更改了文件而已。不想产生
Merge xxx
log的话,建议使用 rebase 命令,代替 merge 命令。简单直接些:使用git pull
时,加上--rebase
参数,当出现冲突时,处理冲突,继续正常rebase即可。