我有一些代码要提交到另一个分支,但是我在创建分支之前进行了更改,所以现在我在 master 中,我想存储代码,创建一个本地分支,签出它,然后存储将代码放入该新分支,以便我可以在其中提交。
这行得通吗?
$>git stash
$>git checkout -b newversion
$>git stash pop
$>git commit -m 'new version'
你应该想'嘿,伙计,做它并检查是否有效',嗯,有很多文件,所以我不想把它搞砸,任何帮助都会很有帮助。
谢谢。
我有一些代码要提交到另一个分支,但是我在创建分支之前进行了更改,所以现在我在 master 中,我想存储代码,创建一个本地分支,签出它,然后存储将代码放入该新分支,以便我可以在其中提交。
这行得通吗?
$>git stash
$>git checkout -b newversion
$>git stash pop
$>git commit -m 'new version'
你应该想'嘿,伙计,做它并检查是否有效',嗯,有很多文件,所以我不想把它搞砸,任何帮助都会很有帮助。
谢谢。
是的,当然可以。这正是适合的事情git stash
。您实际上甚至没有更改工作目录,您只是为当前签出的提交分配了一个附加名称(“newversion”)。从字面上看,这不可能失败或导致冲突。
此外,你真的应该“做它并检查是否有效”。不管有多少文件,一旦你把它们藏起来,你就拥有了它们。如果事情出了差错,你可以重新开始。
在这里您可以直观地查看它:http: //ndpsoftware.com/git-cheatsheet.html#loc=stash;
您的解决方案将按预期工作,但您可以在不使用git stash
. 如果您只是做了一些必须在新分支上提交的修改,那么只运行 4 个命令中的 2 个就足够了:
git checkout -b newversion
git commit -a -m "new version"