我在我的所谓的“富”当前分支进行一些更改。
我想创建一个名为从我目前的分支“栏中的”新的分支。
但新的分支不应含有在我目前的分支任何改变(在我的本地系统COMMITED变化)。
例
$ git clone ssh://[email protected]
$ cd somerepo
$ ls
test1 test2 test3
$ cat test1 test2 test3
< no output, all these 3 files are empty >
$ echo "testing" >> test1
$ git commit -am "test"
现在我需要创建一个名为从我目前的分支新分支新分支,该分支不应包含任何改变 - 例如的“测试”改变承诺(指所有的上述3个文本文件包含什么),并推送到远程。
有没有我们可以做任何可能性?
我想创建一个名为从我目前的分支“栏中的”新的分支。
但新的分支不应含有在我当前分支的任何更改。
既然你指定你不想让你在FOO本地提交,但你想包括在远程分支,你不应该从你的本地分支bar
创建分支foo
,但是从远程foo
分支:
git checkout -b bar origin/foo
这将在您的起源repositoy创建bar
的当前状态分支foo
,即不包含在foo
本地提交。
是的,它是可能的。
这是你的git树:
----A---* <---master
Commit A
犯有3个空文件。目前你已经做了更改文件test1
,但还没有提交。因此,在这种情况下,你只需要使用命令来创建一个新的分支
git checkout -b "new-branch"
这将创建:
---* <---master
/
----A <--- new-branch
这是基本的饭桶。您从提交ID的分支。它可能甚至提交ID创建一个分支/标签/等了。检查here
一旦你做出新的分支,你可以用它推
git push --set-upstream origin new_branch