2011-08-16 57 views
6

我很抱歉,如果這是一個愚蠢的問題,但我是一個VSS/VSTS傢伙試圖轉換爲Git :)在Git中檢入單個文件?

我克隆了一個存儲庫,並拉下了一個Visual Studio項目的負載。在處理這些項目時,我注意到另一位開發人員提交了一個無效的.sql文件。 我爲他們修復了這個.sql文件,但現在我不確定如何檢查.sql文件

我的代碼更改全部不完整,因此目前無法進行檢查。 我在我的電腦上安裝了Git Extensions,當我在Windows資源管理器中右鍵單擊該文件並轉到Git Extensions - > Commit時,左邊會引用大量文件。 我想檢查的文件有一個鉛筆的符號,其他文件的大量都有一個綠色的+符號。

+0

可能值得注意的是,在git中,與其許多前任不同,它有以下區別:(1)「提交」文件更改(使用'git commit'),它僅僅提交更改爲您的本地存儲庫,以及(2)「推送」更改(使用'git push'),將更改傳播到遠程存儲庫,通常是「起源」(類似於VSS或CVS或Subversion服務器)。 – Will

回答

11

您只需將sql文件中的更改添加到索引並運行git commit。

git add path/to/file.sql 
git commit -m 'fixed broken sql file' 

不用擔心你的其他變化,只要你還沒有add編他們,他們不會被提交(以確保有在指數沒有變化,加上之前運行git reset其他更改)

+0

擊敗我吧:p – johnny

+1

你也可以使用'git status'來查看在索引或'git diff --staged'中登臺了哪些文件,看看哪些更改正在上演...... – johnny

+0

圖例,謝謝:) – plenderj

0

如果您可以使用gitbash或類似的東西,請使用git add <filename>

4

這可能是最安全/最簡單的命令行做到這一點:

$ git add foo.sql 
$ git commit -m "Fixed foo.sql" 

這只是提交文件foo.sql。提交之前,你可以這樣做:

$ git status 

確認,只有所需的文件將被提交(它會單獨列出其他修改過的文件,但他們不會被「上演」,爲下次提交)。

0

SmartGit可以從單個文件提交工作樹更改,即使其他文件已暫存。

0

使用Git的當前版本你也可以這樣做:

git commit <filename> 

這將提交在該文件中,只有該文件的一切。目前進入指數的內容並不重要。

某些版本的git需要額外的參數放在文件名之前。這包括-m <message>