关于git提交的一个小疑问

第一种:

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 的记录,第二种没有。这两种方法有什么区别?

阅读 1.3k
1 个回答

第二种方式:git pull前先stash了更改,相当于你本地和远程的历史线是一致的,“没分叉“。至于为什么没有 Merge xxx的记录,是因为:git stash pop的时候,不涉及任何commit log线变化,只是在pull之后更改了文件而已。

不想产生Merge xxx log的话,建议使用 rebase 命令,代替 merge 命令。简单直接些:使用git pull 时,加上 --rebase 参数,当出现冲突时,处理冲突,继续正常rebase即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进