2012-03-13 56 views
0

當更新我的git倉庫的變化後,我通常發出以下命令:提交git倉庫的最佳實踐是什麼?

git add . 
git commit -m 'changes' 

如果我刪除在會議期間文件並運行git add .,將在這些文件重新添加到存儲庫?

在提交期間覆蓋所有內容的最佳方法是什麼?

回答

3

最佳做法很可能是:

如果只是編輯的文件,例如:

git commit -va 

這將增加所有修改過的文件並打開配置編輯器,你可以寫提交信息。在提交消息下是您要以diff格式提交的更改。

如果你在你的工作拷貝更多的變化,只希望提交他們中的一些使用的臨時區域

git add this 
git rm that 

git status 
# On branch foo 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# deleted: that 
# modified: this 
# 
# Changes not staged for commit: 
# .... 

git commit -v 

同樣,使用一個詳細的承諾(顯示DIFF),並沒有消息(所以編輯器打開)讓您輕鬆控制而不會漏掉任何東西。

如果關閉編輯器而不輸入提交消息,則提交將被中止。通常只是略讀差異 - 甚至只是要提交的文件列表 - 你會注意到一些缺失或錯誤,並想糾正這一點。

使用git add .將增加你沒有明確你的.gitignore文件忽略所有文件。這可能不是默認提交的最佳方式,毫無疑問,您已經以這種方式提交了您不想在存儲庫中真正需要的文件。

如果git rm文件,創建該文件,都沒有.gitignore荷蘭國際集團的文件,然後運行git add . - 你只需要添加的文件回上演的變化在你的旁邊進行提交(然後要麼是編輯到您最初刪除的文件,或者因爲內容沒有改變而沒有任何操作)。

-1

使用

git status 

你會得到一個建議

+0

有眼無珠downvote。我從+1得到補償。 – Anonymoose 2012-03-13 10:27:43

+0

這個答案沒有用@Anonymoose - 它是如何回答這個問題的? – AD7six 2012-03-13 10:34:51

2

git add -A .

將添加的所有文件添加,從目前(.)你的文件夾啓動子文件夾修改或刪除(-A)。

最佳做法是做一個git與添加後要經常檢查:

git status

另一個好處做的是添加一個別名,所以你不要總是要輸入的一切。 以下內容添加到您的.gitconfig文件:

[alias] 
aa = add -A 
c = commit -m 
pp = !git pull && git push 

添加此之後,你可以使用以下命令:

git aa     -- add all 
git c "some commit"  -- commit 
git pp     -- pull first, push after pull