如何将新提交的文件添加到git中的现有分支
之后我添加了&提交的新文件。现在我想将这些文件添加到现有分支
答案 0 :(得分:1)
要从一个分支中选择提交并将其应用到另一个分支,您可以使用git cherry-pick <commit-id>
。来自Ariejan Blog的示例:
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
\
76cada - 62ecb3 - b886a0 [feature]
假设您已经在功能分支的提交62ecb3
中编写了一些代码,这些代码现在非常重要。它可能包含其他人现在需要访问的错误修复或代码。无论是什么原因,您希望立即在主分支中提交62ecb3
,而不是在功能分支中编写的其他代码。
这里有git cherry-pick。在这种情况下,62ecb3
是樱桃,您想要选择它!
git checkout master
git cherry-pick 62ecb3
这就是全部。 62ecb3
现在应用于主分支并在主服务器中提交(作为新提交)。 cherry-pick就像合并一样。如果git无法应用更改(例如,您遇到合并冲突),git会让您手动解决冲突并自行进行提交。
答案 1 :(得分:0)
我认为这是你的问题所在。您正在使用主,测试,开发分支。
您正在使用主分支,可能已添加 file1.txt 和 file2.txt ,您已暂存并提交了它们。
现在你意识到你应该完成这项工作并在开发分支中提交。
因此,只需修复此问题,您就可以结帐到主分支并执行软重置,直到您工作的文件为止。
例如:以下是您的git日志详细信息
wifi@wifi:/var/www/html/git_training$ git log
commit 11360c3a40697273c7a6bb742c47b00df928befa
Author: Channaveer Hakari <channaveer@wifidabba.com>
Date: Sun Dec 3 13:11:41 2017 +0530
Added test file
commit 0f3fed0b43c09b5fc3eee77dac4028bf0779e510
Merge: 825dd38 95f62fb
Author: Channaveer Hakari <channaveer@wifidabba.com>
Date: Fri Dec 1 13:23:09 2017 +0530
Merge branch 'issue1'
添加了测试文件,其哈希值 11360c3a4069727 ... 是您要进行软重置的提交,然后您需要将一个级别返回到该提交即提交合并分支'issue1',哈希值 0f3fed0b43c09b5fc3eee77 。
wifi@wifi:/var/www/html/git_training$ git reset --soft 0f3fed0b43c09
一旦你软重置文件,直到您完成的提交将被取消注释,并将显示在暂存级别,如下所示。
wifi@wifi:/var/www/html/git_training$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: test.txt
现在您可以重置主分支,使文件位于本地,如下所示
wifi@wifi:/var/www/html/git_training$ git reset
wifi@wifi:/var/www/html/git_training$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
test.txt
nothing added to commit but untracked files present (use "git add" to track)
在此特定时刻,您可以隐藏文件,或者您可以直接更改为开发分支,除非您在切换分支时不会遇到任何问题,否则您必须存储文件然后切换,当您执行 git status 时,您将能够看到 test.txt 文件。现在你可以照常提交。
答案 2 :(得分:0)
我认为您只是希望您提交的更改并推送到特定分支,以便反映在另一个分支中。
如果是这样,只需将另一个分支拉入当前分支,如下所示:
切换到要将更改提取到的分支:
git checkout
将另一个分支拉入本地分支:
git pull
这将执行以下操作:获取另一个分支。将另一个分支合并到您当前的分支。
如果没有,请进一步描述问题以获得更好的解决方案。 :)