git教程補充 目錄
4git基本操作
圖中左側為工作區,右側為版本庫。在版本庫中標記為 「index」 的區域是暫存區(stage, index),標記為 「master」 的是 master 分支所代表的目錄樹。
圖中我們可以看出此時 「head」 實際是指向 master 分支的乙個」游標」。所以圖示的命令中出現 head 的地方可以用 master 來替換。
圖中的 objects 標識的區域為 git 的物件庫,實際位於 「.git/objects」 目錄下,裡面包含了建立的各種物件及內容。
當對工作區修改(或新增)的檔案執行 「git add」 命令時,暫存區的目錄樹被更新,同時工作區修改(或新增)的檔案內容被寫入到物件庫中的乙個新的物件中,而該物件的id被記錄在暫存區的檔案索引中。
當執行提交操作(git commit)時,暫存區的目錄樹寫到版本庫(物件庫)中,master 分支會做相應的更新。即 master 指向的目錄樹就是提交時暫存區的目錄樹。
當執行 「git reset head」 命令時,暫存區的目錄樹會被重寫,被 master 分支指向的目錄樹所替換,但是工作區不受影響。
當執行 「git rm –cached 」 命令時,會直接從暫存區刪除檔案,工作區則不做出改變。
當執行 「git checkout .」 或者 「git checkout – 」 命令時,會用暫存區全部或指定的檔案替換工作區的檔案。這個操作很危險,會清除工作區中未新增到暫存區的改動。
當執行 「git checkout head .」 或者 「git checkout head 」 命令時,會用 head 指向的 master 分支中的全部或者部分檔案替換暫存區和以及工作區中的檔案。這個命令也是極具危險性的,因為不但會清除工作區中未提交的改動,也會清除暫存區中未提交的改動。
$ git commit -m '初始化提交readme檔案'
git(隨時補充)
merge 遇到衝突時放棄 git merge abort本地修改不提交 git update index assume unchanged 拉 master 時會報本地未提交錯誤,需要先還原,然後暫存 git update index no assume unchanged git stash 如...
git 其它補充 版本
1 給原始碼貢獻力量 當自己比較牛逼時 2 gitignore檔案 在建立倉庫的時候可以進行設定 3 版本 git tag a v1.0 m 版本介紹 本地建立tag git show v1.0 檢視 git tags n 檢視本地tag git tag l v1.4.2.檢視本地tag,模糊匹配 ...
Git教程(Git誕生)
很多人都知道,linus在1991年建立了開源的linux,從此,linux系統不斷發展,已經成為最大的伺服器系統軟體了。linus雖然建立了linux,但linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為linux編寫 那linux的 是如何管理的呢?事實是,在2002年以前,世界...