如何将更改提交到新分支

use*_*385 105 git

我刚刚对分支进行了更改.我的问题是,如何将更改提交给其他分支?

我正在尝试使用:

git checkout "the commmit to the changed branch" -b "the other branch"
Run Code Online (Sandbox Code Playgroud)

但是,我不认为这是正确的做法,因为在这种情况下我正在创建一个新的分支而不是将更改提交给"另一个分支".

我应该使用以下命令吗?

git merge "the other branch"
Run Code Online (Sandbox Code Playgroud)

谢谢.

Joh*_*die 186

git checkout -b your-new-branch

git add <files>

git commit -m <message>

首先,检查你的新分支.然后添加要提交到暂存的所有文件.最后,提交刚刚添加的所有文件.您可能希望在git push origin your-new-branch之后执行此操作,以便您的更改显示在遥控器上.

  • 这不是```git checkout -b your-new-branch```而不是```git checkout your-new-branch```? (11认同)
  • 为什么`git add`和`git commit -a`? (5认同)
  • 如果我已经跟踪了一个文件并且想要切换到新分支,则将这些文件添加到新创建的分支怎么样? (3认同)
  • 自从我从 git checkout v3.0(我进行更改之前的分支)new-branch 获得新分支后,我还需要使用“git add &lt;files&gt;”吗? (2认同)
  • 新分支没有上游,因此您需要在推送更改时设置上游,如下所示: $ git push --set-upstream origin your_branch (2认同)

mig*_*rin 35

您可以使用存储您的工作,创建一个新分支,然后弹出您的存储更改:

git checkout -b branch_name
git add <files>
git commit -m "message"
Run Code Online (Sandbox Code Playgroud)

就像您在创建新分支后进行了这些更改一样.然后你可以照常提交:

error: Your local changes to the following files would be overwritten by checkout:
...
Please commit your changes or stash them before you switch branches
Run Code Online (Sandbox Code Playgroud)

  • 每个人都应该尝试此代码。因为大多数寻求答案的人,他们已经对您现有的代码进行了一些更改。 (3认同)
  • 为什么要添加隐藏和隐藏弹出?当您签出新分支时,您的更改将可以添加和提交,而无需隐藏。 (2认同)

Car*_*rum 17

如果我理解正确,你已经提交了,changed_branch并且你想要将该提交复制到other_branch?简单:

git checkout other_branch
git cherry-pick changed_branch
Run Code Online (Sandbox Code Playgroud)

  • 这是他要完成的目标的正确答案。 (2认同)