运行git switch --orphan lib会把我切换到lib分支吗?

igetnqfo  于 5个月前  发布在  Git
关注(0)|答案(1)|浏览(68)

如果我理解正确的话,运行下面的代码应该会创建一个空的孤立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

cdmah0mi

cdmah0mi1#

一切都按计划进行。特别是,如果您询问

$ git status
On branch lib

No commits yet

nothing to commit (create/copy files and use "git add" to track)

字符串
你会看到你即将从一个干净的石板开始,最重要的是,还没有提交。

相关问题