我在一大段需要很長時間編譯的軟件上工作。我經常發現自己在本地開發,然後編譯/運行在一臺結實的遠程機器上。 Git使得這一切非常簡單:我在本地提交,然後將該分支拉到遠程的git repo上。不幸的是,當我編寫代碼時,我犯了一些錯誤,經常發現自己犯了一些錯誤,以修復在編譯期間出現的拼寫錯誤和其他小錯誤。這些微型提交加起來並且混亂了我的日誌。我正在尋找一種方法,我可以做這樣的事情:編譯機器的Git工作流程
#local> git commit -m "My useful commit message and the bulk of my commit"
#remote> git pull local development_branch
#remote> *compile my code and get a stupid error*
#local> *fix error*
#local> git add *fixed file*
#local> git commit --amend
#remote> *force an update to remote that causes it to look like master*
所以,我在尋找,做這最後一步的命令,這是更新我的遙控器看起來像我的本地分支我後已經修改了提交。目前我這樣做的方式是通過做
git reset --hard HEAD~1
git pull local development_branch
這個工程,但似乎真的很醜。有沒有更好的方法來完成我想要做的事情?
雖然它與git的問題沒有關係:如果你的程序需要花費很長時間才能編譯,那麼使用'make'或類似的東西來保存大量時間只能重新編譯已經改變的文件嗎? –
不要認爲這是諷刺或諷刺,因爲我真的很好奇。是否有理由不能將編譯分成可單獨構建的分立單元?應該可以做你正在問的問題,但這似乎是重新審視你的開發過程的一個令人信服的理由。 – austin
您可能已經意識到了這一點,但爲防萬一,您可能會遇到一類特別針對您的問題而創建的軟件:持續集成。如[Jenkins](https://jenkins-ci.org)。 – berkes