2017-02-22 145 views
-1

我正在爲我的一個項目執行SVN到GIT的遷移。 一個地方的我對SVN下面襯墊代碼更新GIT commit命令相當於SVN命令

svn commit --no-auth-cache --message "commit test" --file test.properties --force-log --username XXXX --password XXXXX 

所以只是想檢查什麼是我應該用相應的Git命令。 到現在我已經得到了,直到以下部分

git commit -m "commit test" --file test.properties 

所以,我怎麼可以附加在GIT的用戶名/密碼標籤commit命令,以便它可以使用相同的認證而訪問回購。

感謝 薩姆

+0

製作Git中提交和訪問回購是兩個不同的操作。您是否在問如何緩存您的憑證以便在與回購交流時使用? –

+2

你不能:Git提交的性質不同於SVN提交的性質。 SVN提交必須聯繫某個服務器上的中央存儲庫,以獲取權限和修訂號。 Git分佈在大自然中;可能根本沒有中央存儲庫,並且提交發生在本地,沒有中央服務器。 – torek

+0

同意..所以只是糾正我,如果我錯了..所以我的查詢是,如果我們通過git做提交也內容將位於一些回購,如果我想做一個git提交執行一些更新,我需要通過我可以通過Id的身份驗證過程。所以只是想知道我怎麼能達到相同的。 – Sam

回答

0

您不需要提供任何憑據來創建在Git中提交。你在問如何內聯創建提交的身份?然後你可以使用git -c user.name="John Doe" -c [email protected] commit ...。如果您問如何獲得某個中央存儲庫的提交,那麼在提交之後還必須執行一次推送。

1

所以我的查詢是那麼,如果我們提交通過的git也是內容將設在一些回購

提交將位於您創建的提交機器上的回購。在SVN中,commit是一個動詞,它將您對Subversion版本庫的更改進行保存,該版本庫通常位於其他某臺機器上。在git中,commit是一個動詞,但它也是一個名詞 - 一個提交是您創建的一組特定的更改,它們一起應用。當您使用git commit命令時,您在本地回購中創建提交。然後,您可以使用git push將您創建的提交(或提交)發送到另一個回購站,例如您與其他團隊共享的提交(或提交)。

所以我怎麼追加用戶名/密碼標籤在GIT commit命令,以便它可以使用相同的身份驗證,同時訪問回購。

這似乎是你的問題的核心。您可以在URL中包含用於回購的用戶名和密碼,當你推,如:

git push https://user:[email protected]/reponame.git 

其中user是用戶名,password是對應的密碼,剩下的僅僅是主機名和路徑信息庫你在推動。再次,git的工作方式不同,因此創建提交併將其移動到共享庫是兩個單獨的步驟。

還請注意--file選項不會做你認爲它所做的事情;在git中,--file沒有指定要添加到repo的文件,而是它會導致從文件中讀取提交消息。

爲了把它放在一起,修改文件test.properties後,你會做這樣的事情:

git add test.properties 
git commit -m "commit test" 
git push https://user:[email protected]/reponame.git 
+1

很好解釋.. @Caleb – Sam