Git分享

QueWylie 8年前發布 | 14K 次閱讀 Git 版本控制系統

來自: http://yifeiyuan.me/2016/03/06/Git分享/

控制版本系統(VCS)

版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統

集中化控制系統(CVCS)

集中化控制系統都有一個單一的集中管理的服務器,保存所有文件的修訂版本,客戶端通過這臺服務器獲取文件或提交更新.

缺點

很明顯,中央服務器是個中心,一旦它出了問題就會影響整個系統.

中央服務器單點故障,如果服務器一掛,那么整個系統就掛了,無法工作

甚至,中央服務器磁盤故障,很可能導致數據丟失,丟失所有歷史更改記錄等重要信息.

分布式版本控制系統(DVCS)

客戶端并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。這么一來,任何一處協同工作用的服務器發生故障,事后都可以用任何一個鏡像出來的本地倉庫恢復。因為每一次的提取操作,實際上都是一次對代碼倉庫的完整備份

Git–控制版本之神

簡史

作者,大神 Linus Torvalds

優點:

  • 速度
  • 簡單的設計
  • 對非線性開發模式的強力支持(允許上千個并行開發的分支)
  • 完全分布式
  • 有能力高效管理類似 Linux 內核一樣的超大規模項目(速度和數據量)

Git常用命令

config

git config –global

git config --global user.name "alan"
git config --global user.email alancheen06@gmail.com

</div>

git config --list 查看配置列表

init

git init 用來初始化項目

它會創建一個 .git 目錄,它包含所有初始化git的所有文件

clone

git clone url 
git clone url name #重命名成name

</div>

文件的狀態

接下去的命令跟

add

untracked===>staged

git add file
git add .

</div>

staged===>untracked

git reset HEAD file

</div>

commit

git commit -m "init"
git commit -a -m "init"
git commit -am "init"

</div>

branch

創建分支

git branch branchname

</div>

PS:當init一個倉庫時,master需要先commit一遍才能新建其他分支,否則會得到一個錯誤 fatal: Not a valid object name:'master'.

切換分支

git checkout branchname

</div>

創建并切換分支

git checkout -b branchname

</div>

查看分支

git branch -r -a -l

</div>

刪除分支

git branch -d banchname  #刪除本地分支  
git branch --delete branchname #刪除遠程分支

</div>

遠程協作

pull

git pull origin master

</div>

push

git push origin master

</div>

其他

git log

git reflog

git reset

git stash/pop

git help add

….

gitignore

gitflow

iTerm+oh my zsh

</div>

 本文由用戶 QueWylie 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!