簡體   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