在分支机构工作时从大师那里获得特定的东西

时间:2018-08-24 17:40:37

标签: git

我在分支机构工作,更改了项目结构。如果人们对母版进行了一些更改,那么如何在不弄乱我的更改结构的情况下将这些更改带到我的分支机构。

3 个答案:

答案 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分支保持同步,您可以选择以下几种方式:

1。将所有提交从master添加到feature

git checkout feature
git merge master

示例:如果您在D分支上的提交feature上运行上述命令,则将应用提交EFH到功能分支。

  

在此处详细了解:git merge

2。仅将特定的提交从master添加到feature

git checkout feature
git cheery-pick <commit-hash>

示例:运行git cherry-pick F只会将提交F添加到您的feature分支中。

  

在此处详细了解:git cherry-pick

3。仅将特定文件从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

4。仅将文件中的特定行从master添加到feature

git checkout master <path/to/filename> -p

示例:如果运行git checkout master src/index.js --patch,则可以确定要添加到src/index.js分支中的提交Hfeature文件的哪些块。


我主要使用选项1和2.同步我的分支-有时也使用3. git。当然,还有许多其他方法可以用git实现相同功能,您还可以看看on this thread来寻找一些替代方法