繁体   English   中英

git - 如果没有其他分支,如何删除本地 master

[英]git - how to delete local master if you have no other branches

编辑:目的是将我的本地主机副本完全重置为远程主机。 我更喜欢重置为远程,超过$ git reset --hard HEAD ,我发现它有时会给我带来问题。

我知道我可以像这样删除本地 git 分支:

$ git branch -D master

但是,如果您没有其他分支机构,有没有办法做到这一点? 因为 git 不会让您删除当前所在的分支。

通常我只是切换到另一个分支,但是如果您没有其他分支怎么办? 创建一个临时分支?

注意:我相信这不是另一个问题的完全重复

这可能不是您想要的,但如果问题是“我如何删除我唯一的 git 分支”,那么我认为这个答案可能满足这些要求:

mkdir deleteme
cd deleteme
git init
Initialized empty Git repository in deleteme/.git/
git:(master) echo foo > bar.txt
git:(master) ✗ git add -A
git:(master) ✗ git commit -m 'initial commit'
[master (root-commit) 2dc7ccd] initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 bar.txt
git:(master) git checkout 2dc7ccd
HEAD is now at 2dc7ccd initial commit
git:(2dc7ccd) git branch -D master
Deleted branch master (was 2dc7ccd).
git:(2dc7ccd) git branch -l
* (HEAD detached at 11c60ce)

你总是需要检查一些东西(除非你为了共享目的而制作了一个你不会工作的裸仓库)。 在你的情况下,如果master是唯一剩下的分支,那是你当前的分支,你不能删除它(还)。 如果您真的想要,您可以创建或签出另一个分支,甚至可以分离到提交而不是分支名称,然后删除master 或者,

我更喜欢重置为远程...

这正是我会做的:

git fetch
git reset --hard @{u}

master签出并跟踪origin/master将是相同的命令:

git reset --hard origin/master

如果您愿意,您也可以从那里清除未跟踪的文件

或者,由于您只有一个分支并且您不喜欢上面的内容,因此这是删除您的存储库并重新克隆的不错选择。 对于我要做的足够小的存储库,否则,我只需将分支重置到远程。

如果您只想从分支中删除所有内容,那么您可以在本地存储库中执行类似的操作

$ git checkout master
$ git rm -r folder-name or rm <file1> <file2> <file3>…
$ git commit -m "Remove files"
$ git push origin master

另一种选择是删除您的.git文件夹

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM