当有另一个分支时,我可以删除一个分支吗?
Can I delete a branch when there is another branching from it?
我对版本控制不是很熟悉。如果我有自己的主分支并最终搞砸了一些事情迫使我不得不从较早的点开始分支,我可以安全地删除我的主分支以用新分支替换它吗?换句话说,如果 master 是分支 A,我从 master 分支为 B,最终从 B 分支为 C,我可以按顺序删除 B 以使 C 成为主分支吗?或者这会导致 C 也被删除吗?
在我看来,存储库只是提交文件的列表。
在 Git 中,分支是提交时的指针。
提交自上次提交以来的存储更改。
删除分支"B"只删除指针"B"。
它不会删除提交和文件。
所以去掉指针"B"对指针"C"没有影响。
那么你可以在不移除分支"C"的情况下移除分支"B"。
但是在创建分支 "C" 后在分支 "B" 中所做的更改将会丢失。
一个简单的例子:
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log
我对版本控制不是很熟悉。如果我有自己的主分支并最终搞砸了一些事情迫使我不得不从较早的点开始分支,我可以安全地删除我的主分支以用新分支替换它吗?换句话说,如果 master 是分支 A,我从 master 分支为 B,最终从 B 分支为 C,我可以按顺序删除 B 以使 C 成为主分支吗?或者这会导致 C 也被删除吗?
在我看来,存储库只是提交文件的列表。 在 Git 中,分支是提交时的指针。 提交自上次提交以来的存储更改。
删除分支"B"只删除指针"B"。 它不会删除提交和文件。 所以去掉指针"B"对指针"C"没有影响。
那么你可以在不移除分支"C"的情况下移除分支"B"。 但是在创建分支 "C" 后在分支 "B" 中所做的更改将会丢失。
一个简单的例子:
mkdir testBranchGit
cd testBranchGit
git init
touch 01.md
git add 01.md
git commit -m "01.md"
git checkout -b branchB
touch 02.md
git add 02.md
git commit -m "02.md"
git checkout -b branchC branchB
touch 03.md
git add 03.md
git commit -m "03.md"
git branch -d branchB
ls
git branch --list
git log