我怎么能在git中这样做:
我当前的分支是branch1,我做了一些本地更改.但是我现在意识到我实际上是要将这些更改应用于branch2.有没有办法应用/合并这些更改,以便它们成为branch2上的本地更改而不在branch1上提交它们?
git checkout 'another_branch'
Run Code Online (Sandbox Code Playgroud)
要么
git checkout origin 'another_branch'
Run Code Online (Sandbox Code Playgroud)
要么
git checkout origin/'another_branch'
Run Code Online (Sandbox Code Playgroud)
feature-x当我突然遇到一个应该在另一个分支上真正解决的问题时,我正在分支上做一些工作hotfix.
我想创建一个带有该更改的提交,但是在hotfix分支上.
从这个问题我理解标准程序将是
# On branch feature-x
git stash
git checkout hotfix
git stash pop
git add -A
git commit -m "Fixed issue #562"
Run Code Online (Sandbox Code Playgroud)
如果我在分支上没有进行很多更改,那将会有效feature-x,这会引起与分支的冲突hotfix.我想避免必须解决不必要的冲突.
为了避免这种情况,我想我只能从存储中提取单个文件,如此答案所述.所以程序将是:
# On branch feature-x
git stash
git checkout hotfix
git checkout stash@{0} -- <src/buggyfile.xxx>
git add -A
git commit -m "Fixed issue #562"
Run Code Online (Sandbox Code Playgroud)
然后我应该回去 feature-x
git checkout feature-x
git stash pop
Run Code Online (Sandbox Code Playgroud)
虽然有一种方法可以直接从另一个分支引入文件,但我想知道是否有办法将文件发送到另一个分支,没有这一切麻烦.实际修改只有几个字符.
我在master分支上添加了一个功能.更改了几个文件后,我意识到我需要在没有更改的情况下检查输出.
我能想到的方式是:
git reset --hard HEAD^以便我回到原始代码.有更好的方法吗?
我可以保存当前更改的快照,并在我准备好后再回来吗?