2012-06-22 149 views
6

是否有可能有一個混帳命令git pullgit push混帳拉和混帳推在一個去

git pull & git push語法不適合我完全,因爲我需要提供我的憑據到服務器兩次:上拉和推。

所以我想知道,有沒有這方面的任何解決方法嗎?我相信它應該是這樣的,因爲開發人員在推送本地更改之前拉動遠程原點是非常常見的情況。

編輯:我使用Windows 7/64,msysgit-UTF8 1.7.9

+1

它可以是危險的,如果有是合併衝突沒有? –

+1

什麼協議?每個會話只能提供一次憑據的方法 – CharlesB

+3

不要這樣做。設置公鑰認證或更改協議,以便可以。 – wadesworld

回答

4

首先,你可以配置將由Git的,這裏的相關問題,可以使用_netrc文件:Git - How to use .netrc file on windows to save user and password 然後,你可以命令配置別名:

git config alias.publish '!git pull && git push'` 

而剛剛類型:git publish

+0

我可以用@符號添加登錄信息庫的URL作爲分隔符。我可以將密碼添加到'.git/config'中。但我不想存儲我的密碼。我喜歡用密碼提問。但只有一次! – shytikov

+0

我相信這個'.netrc'解決方案不能用於ssh連接... – shytikov

+0

您不需要在.git/config中添加登錄名和密碼。這是一個錯誤的方式。如果你使用ssh連接,那麼最好使用公共密鑰。對於通過憑證進行https連接,您可以在Windows中使用_netrc文件,請注意文件名中的下劃線而不是點。 – lisachenko

0

我建議做的事情只是快速和骯髒在這種情況下。這可能不是最有效的方法,但我只是在vim中用命令創建一個bash腳本並運行,考慮命令的簡單程度。然後,您可以在每次想要同時拉動和推動時打開該文件。

所有你需要做的就是創建文件,放在你想要寫命令的兩條線,每當你想執行他們鍵入文件名進入命令行模式。

再次,不是最有效的方式,而是快速修復。

+0

它不能解決雙重身份驗證的情況......而這就是問題所在。它不會打擾我輸入'git pull&git push'。我不想輸入兩次密碼,因爲我相信應該對此進行優化。但我還沒有找到它... – shytikov

0

你最好使用SSH,但如果你不能使用SSH,你可以隨時使用Windows憑據商店,以節省您的密碼,這樣你就不需要填寫了兩次:

git config --global credential.helper wincred 

來源:Git documentation