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