2012-05-18 32 views
5

我閱讀了文檔並搜索了一下,但沒有真正簡單的步驟能夠將本地更改提交給github。我編制了以下步驟,我只是想確保做正確的事情。如果我改變了本地文件foo.java:簡單的GIT命令序列

  1. git的狀態-s                   //會告訴我,foo.java已經改變

  2. git的加foo.java         //將它添加到本地回購

  3. git的承諾-m 「我的變化」           //提交到本地回購

  4. git的標籤 「V1.1」             //創建一個標籤

  5. git push --tags                 //最後,使用新標記將本地提交移動到遠程倉庫。這會提示輸入你的密碼。如果沒有標籤被設置爲在步驟4,然後就

混帳推

就足夠了。對?

我只是想確保大多數用例的這些基本步驟是使用github所需的。我是github的新手,這些步驟對我很有幫助,但是要確保我沒有犯任何根本性的錯誤。請評論是否有任何缺失的步驟。再次,我擔心最通用的日常使用(例如,我並不真正擔心分支機構等,我將在需要的基礎上學習)。先謝謝你。

回答

7

你的步驟很好。儘管如此,挑選一些關於以下內容的評論:

對於步驟(2)和(3)的評論並不是考慮發生什麼事情的最佳方式,我不相信。

2.git add foo.java  //will add it to my local repo 
3.git commit -m "my changes"  //commit to the local repo 

它補充說:「」您的文件到本地倉庫git-commit步驟。這就是爲什麼叫做commit;你承諾更改到存儲庫。 git-add foo增加foo分段區域,而不是到回購本身。

git倉庫有三個 「區」,workingstagingrepository,這裏描述(從Pro Git book拍攝的圖像):

Git areas

您在創造性地命名爲「工作目錄的變化和工作」。

當你做了一些改變,你想準備提交。這是「暫存區」發揮作用的地方。您「擺放」您想要提交的更改,當您對提交的內容感到滿意時,您將「暫存區」提交到「存儲庫」。 [注意:在man頁面中,此staging area大部分是指index]。

這可以讓你有很大的靈活性。您可以暫存自上次提交以來的所有更改,也可以逐個分階段執行文件,也可以暫存部分文件。您可以添加和刪除臨時區域中的文件,而不會丟失更改或混淆版本庫歷史記錄。這就是git addgit rm命令所做的事情;他們從working directory增加到staging area,但他們不要直接添加到repository。 (希望圖像有助於明確區分)。

你的步驟很好。如果你想更多地瞭解分支,提交,操作提交和分支以及其他什麼,我建議閱讀Pro Git book - 它有一大堆漂亮的圖片和語言足夠簡單,我可以理解它;)

0

(3)後,你應該能夠調用git push origin master這會推動當前的master分支github上

+0

對,沒有標籤,如果我只是使用「git push」,它會給我一個警告。所以,正確的推送方式是:「git push origin master」。謝謝。 – RGi

+1

爲了能夠做一個'git push',你可能需要做一次'git push -u origin master'。這將使您的本地主分支「跟蹤」遠程主分支。之後,你可以做'git push'或'git pull',它會知道該怎麼做。 (僅供參考,如果您通過'git clone'獲取代碼,則會自動爲您設置此跟蹤。) – dontangg

0

我認爲,這足以讓很基本的用法。我只想補充兩點意見:

  • 它總是要檢查您添加到臨時區域是什麼(這是你與git add做什麼)好東西:要麼使用git diff,或做一個git add --patch,它將啓動一個交互式過程,讓您決定是否接受或拒絕您修改的代碼的每個塊 。如果你在這個階段搞砸了任何東西,你可以隨時git reset HEAD得到更改回 的工作副本(即,你只需撤消添加)
  • 你可能想通過發出一個步驟2和3 git commit -a -m 'your message'