2015-07-21 75 views
1

我來自FTP,如果我想快速編輯一些文本,我可以上傳文件並查看更改。我知道我需要使用Git,所以我使用Bash shell編程實現了3步過程(添加,提交,推送)的自動化。這可以嗎?自動化Git命令可以嗎?

// in .bashrc file 
launch() { 
    git add -A . ; 
    git commit -m "$1" ; 
    git push heroku master ; 
    echo $1 ; 
} 

回答

4

這絕對沒問題。

自動執行SCM命令是完全正常的,事實上經常發生在持續集成中。

只是要小心。你正在使用「-A」標誌,所以如果你有一個你不想要的文件,並且不會被忽略,它將被添加到提交中。

運動警惕,你會沒事的。

+0

我使用.gitignore來忽略我不需要的文件。 –

5

一般來說,沒關係。只是有一個錯誤需要修正:

launch() { 
    git add -A . 
    git commit -m "$1" 
    git push heroku master 
    echo "$1" 
} 

不帶引號中,使用像

launch "my commit message" 

會產生一個錯誤,因爲只有「我」將被作爲參數傳遞給-m,用「提交「和」消息「作爲獨立參數出現在commit命令中。分號是不必要的,但如果保存則不會造成任何傷害。

+0

不是真的;換行符只是有效的語句終結符之一。分號僅用於終止在同一行上的另一個命令。 – chepner

1

從技術上講,這是可以的,但最終可能會有很長一段小小的編輯歷史,對它們沒有任何評論。雖然我確實看到你的提交包含-m選項。

您可以使用此工作流程並擁有一個健全的歷史記錄的一種方法是將您的實時代碼保存在單獨的分支中。並定期進行交互式壓縮小型提交的一系列更小的提交語義上接近。

然後你可以把這些更大的提交到你的主分支。