1. 程式人生 > 其它 >程式碼版本管理git

程式碼版本管理git

git工作流程如下:

克隆 Git 資源作為工作目錄。
在克隆的資源上新增或修改檔案。
如果其他人修改了,你可以更新資源。
在提交前檢視修改。
提交修改。
在修改完成後,如果發現錯誤,可以撤回提交併再次修改並提交。

Git 工作區、暫存區和版本庫概念:

工作區:就是你在電腦裡能看到的目錄。
暫存區:英文叫 stage 或 index。一般存放在 .git 目錄下的 index 檔案(.git/index)中,所以我們把暫存區有時也叫作索引(index)。
版本庫:工作區有一個隱藏目錄 .git,這個不算工作區,而是 Git 的版本庫。

當對工作區修改(或新增)的檔案執行 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語句

git init #初始化倉庫
git add -A #新增檔案到暫存區域
git config --list #配置
git reset --hard HEAD~1 #回退版本
git diff  XX #對比差異
git branch (-v -d) #建立分支
git checkout #切換分支
git merge       #合併分支
git commit –m “XX” #提交暫存區到本地倉庫
git status #檢視當前倉庫狀態
git log #檢視歷史提交記錄
git clone #拷貝一個遠端倉庫
git remote (add rm) #刪除
git (push/pull) #上傳/下載遠端程式碼併合並

在執行完成 git init 命令後,Git 倉庫會生成一個 .git 目錄,該目錄包含了資源的所有元資料,其他的專案目錄保持不變。