除了合并分支之外,GIT还可以通过以下方式产生冲突
如何在推送或拉入之前列出这些冲突并将其标记为已修复?我尝试使用Git.status(),并希望看到这些文件处于冲突状态,但没有列出任何内容。
Status status = git.status().call(); status.getConflicting();
下面是我使用的一些代码片段:x一个一个一个一个x一个一个二个x
jyztefdp1#
两点澄清:
git push
merge
git pull
git fetch
git merge <upstream branch>
git merge
git cherry-pick
git rebase
修复1.的问题:运行git status时您不会看到任何内容,您应该更新远程视图(git fetch),检查历史记录并选择要执行的操作:
1.
git status
git merge <upstream/branch>
git rebase <upstream/branch>
如上所述:运行git fetch,然后运行git merge与运行git pull相同,区别在于您可以在运行git merge之前 * 检查存储库的状态 *。
git push --force-with-lease origin
修复2.的问题:您可以运行常规的合并冲突解决。
2.
1条答案
按热度按时间jyztefdp1#
两点澄清:
git push
不会触发 * 冲突 *(不是merge
会触发的文件级冲突),它只是在你推送的提交不是现有分支提示的快进时拒绝更新分支git pull
实际上是一个2步命令:git fetch
,它从远程存储库恢复提交,后面跟着git merge <upstream branch>
冲突可能由第二步触发(常规
git merge
)git cherry-pick
和git rebase
修复
1.
的问题:运行git status
时您不会看到任何内容,您应该更新远程视图(git fetch
),检查历史记录并选择要执行的操作:git merge <upstream/branch>
或git rebase <upstream/branch>
。如上所述:运行
git fetch
,然后运行git merge
与运行git pull
相同,区别在于您可以在运行git merge
之前 * 检查存储库的状态 *。git push --force-with-lease origin
修复
2.
的问题:您可以运行常规的合并冲突解决。