目前在企業中比較主流的版本管理工具備:GIT、SVN、CVS等等。html
Git是一款免費、開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目。是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。linux
Git是分佈式版本控制系統,那麼它不但和SVN同樣有中央服務器,並且每一個人的電腦也是一個完整的版本庫,這樣,工做的時候聯網就不是必須的了,由於版本能夠先在本身的電腦上進行管理。既然每一個人的電腦都有一個完整的版本庫,那多我的如何協做呢?好比說本身在電腦上改了文件A,其餘人也在電腦上改了文件A,這時,大家兩之間只需把各自的修改推送給中央服務器,而後再從新去拉下代碼,就能夠互相看到對方的修改了。git
sudo yum -y install git
git init
git add fileName1,fileName2...
git add . (添加全部已經修改的文件到暫存區)
git commit -m 'commit description'
git status
git diff fileName
git log
git reset --hard commit_version
git reset --hard HEAD^
git reflog
git branch
git branch -a
git checkout branchName
git checkout -b newBranchName
git merge branchName
git branch -D branchName
git branch -r -d origin/branch-name (只刪除遠程倉庫test分支,本地保留)
git push origin :branch-name
git remote add origin remote_url
git push -u origin master (-u是把本地分支和遠程分支作關聯,第一次提交代碼到新分支的時候須要,之後只須要使用git push就能夠)
git clone remote_url
git stash
git stash apply
git stash pop
git remote show origin
git remote -v
git pull
27. 設置全局別名windows
git config --global alias.ac '!git add -A && git commit -m'
這樣咱們就能夠直接使用:git ac 'why you modify' 就能夠完成git add和git commit -m 操做緩存
28. 刪除文件安全
git rm file-name
29. 刪除暫存區或分支上的文件,但本地工做區間保留,只是不但願這個文件被版本控制服務器
git rm --cache file-name
30. 從遠程獲取最新的版本信息到本地有如下兩個命令:app
git fetch origin master
git pull origin master
上面的命令至關於:分佈式
git fetch origin master (從遠程的origin的master主分支下載最新的版本到origin/master分支上)
git log -p master..origin/master (比較本地的master分支和origin/master分支的差異)
git merge origin/master (將遠程的最新版本合併到本地)
還至關於以下:svn
git fetch origin master:tmp (從遠程獲取最新的版本到本地tmp分支)
git diff tmp (比較不一樣)
git merge tmp (進行合併)
現實狀況下git fetch更安全一些,由於在merge前,咱們能夠查看更新狀況,而後再決定是否合併.
31. rebase指定分支(把指定分支上的新提交在當前分支作一次)
git fetch
git rebase origin/branch-name
解決衝突
git add .
git rebase --continue
git push
高效撤銷各個階段的代碼的方法請移步:如何高效撤銷Git管理的文件在各類狀態下的更改