版本管理工具:git svn 的比較

git:分佈式。開發者能夠提交到本地,每一個開發者機器上都是一個完整的數據庫。兩個開發者之間,能夠經過打patch的方式交換文件。
git

svn:集中式。所謂 git 服務器,是指你們約定使用同一個網址提交、更新代碼。這個網址能夠是任何一個開發機。github

git 創建 branch 的速度更快,由於只保存增量。svn 的 branch 是一份完整的代碼拷貝。數據庫


git 工做區、暫存區的概念xcode

保存文件後,進入工做區安全

git add 後,進入暫存區ruby

git commit 後->產生提交記錄,這時只要文件系統是好的,而且不執行 git reset --hard,那麼你的全部修改都已經被安全的記錄下來了服務器

git push 後 ->代碼進入倉庫,這時別人能夠獲取到你的代碼了curl

剛接觸git時,容易混淆的幾個命令分佈式

git reset --path:是git add 的反向操做。ide

git revert :不能指定單個文件,只能指定一個commid id,撤銷此次commit的全部修改。撤銷行爲自己也會成爲一個commit。

git checkout --path:不指定commit id時,是用暫存區的文件覆蓋工做區的文件,不然用commit id中的文件版本,覆蓋暫存區中和工做區中對應的文件。

經常使用的 svn 命令跟 git 命令做比較

svn git 備註
更新

git fetch --all 

git pull origin/xxx_branch

 git fetch — all 用來獲取 git 倉庫的 branch 更新信息; 若是指定了 track branch,git pull 能夠不跟參數。
提交

git add xxx

git commit -m 「message"

git push origin local:remote



Update to Version git checkout commit_id -- file
git 裏的 commit id至關於 svn 的 version
顯示資源歷史記錄 git log / gitk 下面有 gitk 在 mac 系統的安裝方法
還原

丟棄本次修改到最近一次 commit 的狀態:

git checkout -- file

 SVN 的還原是指,丟棄本次修改,將文件或目錄還原到與服務器一致的狀態。

git 沒有中央服務器的概念,所以「還原」能夠理解爲,將指定文件或目錄,更新爲最近一次提交的版本。


其餘經常使用的 git 命令

git pull --rebase 本地有一些 commit 的前提下,但願 merge 遠程代碼,同時保留以前的 commit 信息。

git cherry-pick 經過 git log 命令,找到某一個 commit id,但願只 merge 這次 commit 的內容。

repo

有一個 manifest.xml 文件,記錄若干git倉庫,例如 AOSP 的管理。

gitk on Mac

一、命令行安裝 HomeBrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)""

二、安裝最新版 git

http://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/

Step 3: Install Git

介紹git hook的好文章

https://www.atlassian.com/git/tutorials/git-hooks/

相關文章
相關標籤/搜索