Git 处理已跟踪和未跟踪文件的合并冲突
Git Dealing with merge conflict with tracked and untracked files
我在这个 develop
分支中,我结帐到新的本地分支以开发新功能。
git checkout -b task-change-title-and-styling
然后现在我做了一些代码更改,现在我有 tracked
和 untrack
文件。
我知道不会有合并冲突的常见做法如下:
git add .
git commit -m "Change titles and styling on homepage"
git fetch origin
git rebase origin/develop
git push -u origin task-change-title-and-styling
完成。
现在在我知道我的更改会与其他更改发生冲突的新情况下,我应该怎么做(假设我同时拥有 tracked
和 untracked
文件)?
以下只是我对处理合并冲突的假设,但不确定步骤是否正确
git add .
git commit -m "Change titles and styling on homepage"
git fetch origin
git rebase origin/develop
*at this point i assume my git will have merge conflict message*
然后我修复我的合并冲突,然后我做
git add .
git rebase --continue
*there are still conflict message*
再次修正我的代码,然后
git add .
git rebase --continue
*now no more merge conflict message*
git push -u origin task-change-title-and-styling
你的假设是正确的。
虽然,我从来没有在 rebase 之前使用 git fetch origin,因为 git rebase origin/develop 已经拉取了最新版本的 develop 分支。
我在这个 develop
分支中,我结帐到新的本地分支以开发新功能。
git checkout -b task-change-title-and-styling
然后现在我做了一些代码更改,现在我有 tracked
和 untrack
文件。
我知道不会有合并冲突的常见做法如下:
git add .
git commit -m "Change titles and styling on homepage"
git fetch origin
git rebase origin/develop
git push -u origin task-change-title-and-styling
完成。
现在在我知道我的更改会与其他更改发生冲突的新情况下,我应该怎么做(假设我同时拥有 tracked
和 untracked
文件)?
以下只是我对处理合并冲突的假设,但不确定步骤是否正确
git add .
git commit -m "Change titles and styling on homepage"
git fetch origin
git rebase origin/develop
*at this point i assume my git will have merge conflict message*
然后我修复我的合并冲突,然后我做
git add .
git rebase --continue
*there are still conflict message*
再次修正我的代码,然后
git add .
git rebase --continue
*now no more merge conflict message*
git push -u origin task-change-title-and-styling
你的假设是正确的。 虽然,我从来没有在 rebase 之前使用 git fetch origin,因为 git rebase origin/develop 已经拉取了最新版本的 develop 分支。