如果我理解正确的话,运行下面的代码应该会创建一个空的孤立lib
分支。
% git switch --orphan lib
Switched to a new branch 'lib'
字符串
而git似乎表明它现在已经切换到lib
分支。
如果我跑:
% git branch
master
型
这似乎表明我仍然在master
上。
我怎么知道我在哪个分支?
另外,如果我尝试切换到lib
分支,这是消息。
git checkout lib
error: pathspec 'lib' did not match any file(s) known to git
型
所以似乎lib
分支从未被创建.
更新
有人说它可以在其中一个答案中工作,所以我在MacOS上将git更新到了最新版本。
git version 2.39.3 (Apple Git-145)
型
我从头开始重复了整个实验,这些是所有的步骤。
% mkdir dir
% cd dir
% touch file
% cd ..
% git add *
% git commit -m "First Commit"
[main (root-commit) 3060034] First Commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 dir/file
% git switch --orphan lib
Switched to a new branch 'lib'
% git branch
main
型
回复评论
好了,现在明白了。我们必须在新的分支上执行一次提交,以便git branch
显示我们在分支上.
我就是这么做的。
% touch file
% git add * && git commit -m "Lib Commit"
[lib (root-commit) de7b684] Lib Commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 dir/file
% git branch
* lib
main
型
1条答案
按热度按时间cdmah0mi1#
一切都按计划进行。特别是,如果您询问
字符串
你会看到你即将从一个干净的石板开始,最重要的是,还没有提交。