我以为我理解git pull -rebase是如何工作的,但是这个例子让我感到困惑.我猜想以下两种情况会产生相同的结果,但它们不同.
首先,有效的.
# Dan and Brian start out at the same spot:
dan$ git rev-parse HEAD
067ab5e29670208e654c7cb00abf3de40ddcc556
brian$ git rev-parse HEAD
067ab5e29670208e654c7cb00abf3de40ddcc556
# Separately, each makes a commit (different files, no conflict)
dan$ echo 'bagels' >> favorite_foods.txt
dan$ git commit -am "Add bagels to favorite_foods.txt"
brian$ echo 'root beer' >> favorite_beverages.txt
brian$ git commit -am "I love root beer"
# Brian pushes first, then Dan runs `git pull --rebase`
brian$ git push
dan$ git pull --rebase
dan$ git …Run Code Online (Sandbox Code Playgroud) 当我想强制推送时,我几乎总是使用--force-with-lease. 今天我升级到 Git 2.30 并发现了一个新选项:--force-if-includes.
阅读更新的文档后,我仍然不完全清楚在哪种情况下我会使用--force-if-includes而不是--force-with-lease像我通常那样使用。
我有一个学生班级,我们都在一个存储库中工作,并不断检查小的状态更新和代码等。
我们已经注意到,除了我们所做的提交之外,Git 似乎还创建了合并并检查了这些,见截图。
这些提交充满了来自其他团队成员的更改,因此只会让我们混淆 git 历史。
这些自动提交是什么,有什么方法可以配置 Git 不进行这些提交?