我在分支机构工作,更改了项目结构。如果人们对母版进行了一些更改,那么如何在不弄乱我的更改结构的情况下将这些更改带到我的分支机构。
答案 0 :(得分:1)
第一步是将master
合并到您的变更分支中:
git checkout change
git merge master
对现有文件的更改将自动应用于其新目录中的文件,如果您在这些文件的同一行上进行了更改,则可能会发生合并冲突。
您将需要手动移动新文件并进行新的提交。
答案 1 :(得分:1)
git-merge -将两个或多个开发历史联系在一起。
有关更多详细信息,请在终端$man git-merge
中输入
答案 2 :(得分:1)
假设您有以下两个分支,每个字母代表一个提交哈希:
C---------D feature
/
A---B---E---F---H master
在feature
分支上工作时,最好使其与master
保持同步,以减少最终创建请求请求时的合并冲突。 master
。
要使feature
分支保持同步,您可以选择以下几种方式:
master
添加到feature
:git checkout feature
git merge master
示例:如果您在D
分支上的提交feature
上运行上述命令,则将应用提交E
,F
和H
到功能分支。
在此处详细了解:git merge
master
添加到feature
git checkout feature
git cheery-pick <commit-hash>
示例:运行git cherry-pick F
只会将提交F
添加到您的feature
分支中。
在此处详细了解:git cherry-pick
master
添加到feature
git checkout master <path/to/filename>
示例:运行git checkout master src/index.js
会将index.js
文件从提交H
添加到您的feature
分支。
如果您想从提交index.js
中添加F
,则可以使用以下命令:
git checkout master~1 src/index.js
或
git checkout <commit-hash> <path/to/filename>
详细了解该命令:git checkout
master
添加到feature
git checkout master <path/to/filename> -p
示例:如果运行git checkout master src/index.js --patch
,则可以确定要添加到src/index.js
分支中的提交H
中feature
文件的哪些块。
我主要使用选项1和2.同步我的分支-有时也使用3. git。当然,还有许多其他方法可以用git实现相同功能,您还可以看看on this thread来寻找一些替代方法