在预先存在的分支上称为git checkout -b branchname; 是旧的被覆盖?

mda*_*mda 4 git command-line

我克隆了一个维护良好的大型存储库.偶然我-b在检查不同的分支时使用了标志.Git说"切换到一个新的分支".原先的分支是否被覆盖,git的输出会产生误导,还是我犯了另一个错误?

Von*_*onC 10

先前存在的分支是否覆盖了,


.已检出默认分支,并已从其HEAD创建新的本地分支.

您可以看到所有分支:

git branch -a
Run Code Online (Sandbox Code Playgroud)

只需切换回您选择的上游分支即可

git checkout -b aBranch --track origin/aBranch
# if the local branch was already there
git checkout -B aBranch --track origin/aBranch
Run Code Online (Sandbox Code Playgroud)

需要注意的是,如果你有工作正在进行中,你需要首先去一个git stash,为"解释git checkout没有覆盖数据 ".

  • @mda:如果你已经有一个*local*分支`client_release_6.12`,那么错误信息是正常的.问题是:这个分支是从origin/client_release_6.12开始的.您可以通过键入`git checkout -B client_release_6.12 --track origin/client_release_6.12`来重置它(注意`-B`而不是`-b`) (2认同)