2011-07-07 29 views
9

OK,所以我就過去tutorial introduction to git,我知道如何:的Git - 掌握術語

  • 創建一個空的本地git的對象 數據庫
  • 添加整個 當前工作目錄的內容它
  • 提交加入(S)
  • 名稱分支
  • 創建一個遠程倉庫
  • branches

但經歷了最初的學習過程,我遇到了許多新的術語。我認爲,理解這些術語的確切含義對於在開展現場項目時不會造成不可逆轉的錯誤至關重要。

你可以推薦有條不紊的良好來源學習的關鍵術語的含義一樣origin,碩士,commit vs. push,裁判,頭,克隆與結帳,等?

+1

每本(優秀)書籍/教程都應該解釋這些術語...... –

回答

4

一學期的DVCS學習非常重要的是上游
請參閱「Definition of 「downstream」 and 「upstream」

考慮到工作流的CVCS (Centralized VCS) and a DVCS (Distributed VCS)之間的區別,關鍵是要意識到你有你的回購與許多「上游「回購(您從can fetch from)。

另一個想法很好掌握是「rebase vs. merge」。

+0

是的,我現在只是遇到了這個問題,並且想知道'upstream'和'origin'之間的區別。謝謝! – WinWin

+0

@WinWin:上游是指遠程回購。 'origin'是給你剛剛克隆的遠程倉庫引用的默認名稱。但這只是一個命名約定,您可以在克隆時根據需要命名上游回購:'git clone -o github'https://github.com/VonC/compileEverything將克隆我的GitHub回購並將其稱爲' github'(這意味着我將不得不'git push github master'而不是'git push origin master'):在這種情況下,我發現它更具有表達性來命名上游repo'github'(而不是'origin'有點通用)。 – VonC

9

originmaster對Git沒有特別的意義,它們只是約定。 origin是「主要」遠程回購(儘管通常,您將同時擁有originupstream;前者是您的克隆版本,而upstream是團隊的常見回購)。 master只是主分支的通用名稱。根據項目情況,它通常是開發分支,其中測試版功能被合併到錯誤修復程序中,儘管它可能是一個發佈分支,其中發展發生在其他地方。

提交與推送相關的問題進行了解釋。請記住,如果你從SVN切換到Git,「推動是新的提交」(引用我的同事)。

你並不需要「有條不紊」地學習其他人;只是在幹中學。對於大多數凡人來說,從書本上背誦的東西太多了。版本跟蹤軟件具有使錯誤可逆的特定目的;現在就保持清除--force,git resetgit rebase

+0

這是一個非常有用的答案。非常感謝你! (當然+1) – WinWin

+0

是的,我提供了一些鏈接來解釋一些條款。我這樣做是因爲我想要證明我不是獨自面對來自不同風險投資背景的這一挑戰,也是對其他可能面臨同樣事情的人的引用。 :) – WinWin

+0

@WinWin:我已經成功使用Git一年多(主要來自命令行),但最近我才學會如何正確使用'cherry-pick'和'rebase'。我必須承認,我仍然不清楚頭和裁判是什麼,我從來沒有想過要看他們。 –