2010-02-21 75 views
1

背景:我使用不具有內置的Git支持目前的文本編輯器。不過,它支持用戶創建的插件,所以我每次保存文件時都會自動提交到存儲庫。如何(悄悄)指定提交信息在編輯器/ IDE

雖然自動保存到存儲庫是直接的,提交信息目前不是非常有用,他們只是巴掌當前日期和時間作爲提交信息文本「自動保存」。

在看這個情況下,我想這可能有助於找出文本編輯器如何處理讓用戶指定不同的每次保存文件(如果想)時提交信息的問題。

問題:文本編輯器如何不顯眼地允許用戶指定非自動提交消息?用戶是否會看到一個彈出對話框?編輯器是否提供了一個臨時緩衝區,它除了作爲提交消息的臨時存儲區外什麼都不做?有一種方法可以在一段時間後沒有感覺像「嘮叨的屏幕」?

回答

1

我認爲你可以得到你正在尋找的絕大多數而不是太聰明。如何使用附加組件的兩個路徑,一個自動保存,就像您目前使用通用自動保存提交消息所描述的那樣。

第二個「故意」提交/保存,您作爲用戶請求提交條目的提交消息屏幕。這將是附加組件中的一個額外的宏/熱鍵/按鈕,用於顯式輸入提交消息,其中「自動保存」功能就是自動保存。

當有意保存和自動保存發生變化時,保持跟蹤並且僅自動保存。簡單明瞭,讓您可以自動保存,無需添加顯示提交消息的靈活性。

祝你好運。

1

這完全取決於你的編輯器。

Visual Studio/TFS可能不是最好的源代碼控制環境,但這一方面處理得相當好恕我直言。他們有一個「掛起更改」窗口,您可以在開發過程中編寫提交信息,並在不同的會話中記住它。可能在你的情況下工作

一種策略就是保持一個固定的「commitmessage.txt」文件的地方,你的汽車-commit命令可以使用的(並且在提交之後也許清楚)。

2

你真的需要一個不同的消息每個一次保存文件?

大多數保存操作都是反射CTRL + S編輯過程的中間記錄。
如果某個任務(缺陷修復,功能開發......)正在進行中,那些中間保存並不意味着會帶來大量新信息。 如果系統地提交,這些提交應該從Git1.7轉發,僅將新的fixup!操作用作註釋。

這樣一來,一旦給定的任務已經完成,你可以自動壁球所有這些提交保持第一位的只有評論,忽略該文件下列所有提交的意見。

git rebase --interactive --autosquash 

請參閱Trimming GIT Checkins SO問題。

+0

感謝crossref,我應該補充說,rebase在某些陣營中被壓低了 – dreftymac 2010-02-21 21:40:15