创建没有本地提交的新分支
Create new branch without local commits
我在当前分支 "foo" 中进行了一些更改。
我想从我当前的分支创建一个名为 "bar" 的新分支。
但是新分支不应包含我当前分支中的任何更改(在我的本地系统中提交的更改)。
例子
$ git clone ssh://svc@somerepo.git
$ 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"
现在我需要从当前分支创建一个名为 new-branch 的新分支,该分支不应包含任何更改 - 例如"test" 提交的更改(意味着以上 3 个文本文件都不包含任何内容)并推送到远程。
我们有什么可以做的吗?
是的,这是可能的。
这是你的 git 树:
----A---* <---master
Commit A
已提交 3 个空文件。目前您已经对文件 test1
进行了更改,但尚未提交。所以在这种情况下你只需要使用命令
创建一个新分支
git checkout -b "new-branch"
这将创建:
---* <---master
/
----A <--- new-branch
这是基本的 git。您根据提交 ID 创建分支。甚至可以从提交 ID 创建 branch/tag/etc。检查 here
创建新分支后,您可以使用
推送它
git push --set-upstream origin new_branch
I want to create a new branch called "bar" from my current branch.
But the new branch should not contain any changes which are in my current branch.
由于您指定不希望 local 在 foo 中提交,但您 希望 包含那些在远程分支上的内容,您不应从本地分支 foo
创建分支 bar
,而应从远程 foo
分支创建分支:
git checkout -b bar origin/foo
这将在您的原始存储库中 foo
的当前状态创建分支 bar
,即不包含 foo
.
上的本地提交
在 Github 上,输入您想要的新分支名称,系统会询问您 - 从哪个分支创建这个新分支
我在当前分支 "foo" 中进行了一些更改。
我想从我当前的分支创建一个名为 "bar" 的新分支。
但是新分支不应包含我当前分支中的任何更改(在我的本地系统中提交的更改)。
例子
$ git clone ssh://svc@somerepo.git
$ 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"
现在我需要从当前分支创建一个名为 new-branch 的新分支,该分支不应包含任何更改 - 例如"test" 提交的更改(意味着以上 3 个文本文件都不包含任何内容)并推送到远程。
我们有什么可以做的吗?
是的,这是可能的。
这是你的 git 树:
----A---* <---master
Commit A
已提交 3 个空文件。目前您已经对文件 test1
进行了更改,但尚未提交。所以在这种情况下你只需要使用命令
git checkout -b "new-branch"
这将创建:
---* <---master
/
----A <--- new-branch
这是基本的 git。您根据提交 ID 创建分支。甚至可以从提交 ID 创建 branch/tag/etc。检查 here
创建新分支后,您可以使用
推送它git push --set-upstream origin new_branch
I want to create a new branch called "bar" from my current branch.
But the new branch should not contain any changes which are in my current branch.
由于您指定不希望 local 在 foo 中提交,但您 希望 包含那些在远程分支上的内容,您不应从本地分支 foo
创建分支 bar
,而应从远程 foo
分支创建分支:
git checkout -b bar origin/foo
这将在您的原始存储库中 foo
的当前状态创建分支 bar
,即不包含 foo
.
在 Github 上,输入您想要的新分支名称,系统会询问您 - 从哪个分支创建这个新分支