簡體   English   中英

是否推送了不屬於分支的 Git 提交?

[英]Are Git Commits that are not part of a branch pushed?

今天我在做我的項目,我嘗試了一種效果不佳的新算法。 因此,我不想將它包含在項目中,但我想對存儲庫中的代碼進行提交,以防我以后想參考它。 這是我所做的:

git add.

git commit -m "Lorem ipsum..."

在我的筆記本上寫下提交 hash 並附上一些注釋。

git reset HEAD^

所以現在,那個提交不是分支歷史的一部分,但是如果將來我需要這個提交,我可以簡單地使用提交 hash 來檢查它。 但這是我的問題:

這個提交會被推送到遠程嗎? 或者它會永遠只保留在我的本地機器上嗎? 顯然,這會很糟糕,因為如果我不得不移動機器等,我會在重新克隆時丟失這個提交。

不,不會推送該提交。 只有您正在推送的分支上的“活動”提交才會進入遠程倉庫。

我的 2 條建議已經在評論中:

  1. 創建一個單獨的分支。 我更喜歡命名約定user/first.last/some-branch ,它可以是您(或其他人)將來可能想要查看的提交的個人備份。 我通常有一堆這些類型的分支,我會每隔幾個月清理一次垃圾。
  2. 提交更改,還原更改,然后在您推送時將歷史記錄保留在您的分支上。

我幾乎總是更喜歡#1而不是#2。

請注意,有一些方法可以推送與分支無關的提交,但我不推薦這樣做,因為它們以后更難找到,並且如果沒有指向它的分支或標記,最終可能會被垃圾收集。 (有關更多詳細信息,請參閱torek 的此評論。)

當您推送到遠程時,您通常會推送一個分支:

git push <remote> <local branch>:<remote branch>

如果當您推送您的分支時,您的提交不存在,它將不會被推送。

剛剛找到了更深入的答案: 是否可以推送不在 git 中的任何分支中的提交?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM