我想创建一个分支foo
(并将其签出),它将与origin/bar
在同一个提交中开始,但我目前没有{{1 }} 检查过了。有没有这样做的单行?
答案 0 :(得分:4)
您可以在一个命令中执行此操作:git checkout
允许直接指定git branch
&n; --no-track
选项。
git checkout -b foo --no-track origin/bar
答案 1 :(得分:0)
这应该可以解决问题:
git branch foo origin/bar
git checkout foo
如果你坚持使用oneline:
git checkout -b foo origin/bar
答案 2 :(得分:0)
这取决于您是否希望新分支跟踪远程origin/bar
。
跟踪遥控器:
git checkout -b foo origin/bar
不跟踪遥控器:
git checkout -b foo --no-track origin/bar
(您以后可以随时添加跟踪关系。)
答案 3 :(得分:-1)
Git有一个用于创建这样一个分支的标志:
https://git-scm.com/docs/git-checkout/
<强>
--orphan
强>
创建一个名为,启动并切换到它的新孤立分支。在这个新分支上进行的第一次提交将没有父级,它将成为与所有其他分支和提交完全断开的新历史的根。调整索引和工作树,就好像之前已运行
git checkout <start_point>
一样。这允许您开始一个新的历史记录,它记录一组类似于通过轻松运行
git commit -a
来进行根提交的路径。当您想要从提交中发布树而不公开其完整历史记录时,这可能很有用。您可能希望这样做以发布当前树为
clean
的项目的开源分支,但其完整历史记录包含专有或其他受阻的代码。如果要启动记录一组完全不同的路径的断开连接的历史记录,则应在创建孤立分支后立即清除索引和工作树,方法是运行
git rm -rf .
工作树的顶层。之后,您将准备好准备新文件,重新填充工作树,从其他地方复制它们,提取tarball等。