1.1三大工作區
以下是三個工作區的關係圖
1.2物件型別
1.3檔案狀態
2.1.初始化配置
#設定預設的使用者名稱和郵箱git config --global user.name namegit config --global user.email name
2.2.基礎命令
git init #可以cd到乙個目錄下,初始化git專案 git add file_name #將檔案加入暫存區,讓git進行管理git mv old_file_name new_file_name #修改工作目錄和暫存區的檔名稱git rm file_name #刪除工作目錄和暫存區的檔名稱git commit -m '提交' #將暫存區的檔案提交到本地版本庫中git log #檢視提交記錄,順序按照最近時間排序git tag -a -m "add v1.2" v.2 #建立taggit status #檢視狀態
2.3.分支管理命令
#1.建立分支git branch branch_name #建立分支,以當前分支上最近提交的為基礎建立出新的分支git branch branch_name branch_name_1 #以branch_name_1 最近提交的為基礎建立出新的分支#2.檢視分支git branch -a #檢視本地和遠端的所有分支git checkout branch_name #檢出分支#3.刪除分支git branch -d branch_name#4.建立並檢出分支git checkout -b branch_name#5.合併分支git checkout branch_1git merge other_branch #把other_branch合併到branch_1上#6.撤銷合併git reset --hard head #用於還未提交,把工作目錄和暫存區都還原到git merge命令之前, #注意,如果工作區中有新的**未提交會被覆蓋 git reset --hard orig_head #用於merge已經結束
2.4.比較內容的差異命令
git diff #顯示工作目錄與暫存區的之間的差異git diff commit的sha1碼 # 顯示工作區和給定提交間的差異git diff --cached commit的sha1碼 #顯示暫存區和給定變更的差異,預設headgit diff commit的sha1碼 commit的sha1碼 #任意兩個提交間的差異
2.5.更改提交命令(慎用)
git reset --soft commit的sha1碼 #將head引用指向給定的提交git reset --mixed commit的sha1碼 #將暫存區和工作目錄恢復到指定的提交git reset --hard commit的sha1碼 #將版本庫的head引用,暫存區和工作目錄恢復到指定的提交git cherry-pick commit的sha1碼 # 將版本庫中的乙個分支特定的提交引入到乙個不同分支中 git commit -amend #修正最近一次提交
2.6.變基提交
git rebase 目標分支 源分支 #把源分支向前移植到目標分支git rebase --abort #中止操作git rebase -i 分支名~3 squash # 把多個提交合併成乙個
2.7.儲存當前工作進度
2.8.遠端倉庫
git clone #轉殖**上的版本庫副本git clone -b #轉殖**上的版本庫指定分支的副本git pull #同步遠端資訊git push #提交本地資料到遠端git fetch #從遠端抓取物件及相關元資料git remote add origin repository #新增遠端版本庫git remote rm #刪除遠端分支和本地跟蹤遠端跟蹤分支git branch -r -d origin/test #從本地庫刪除乙個遠端跟蹤分支git checkout --track origin_branch_name #從遠端切分支git checkout -b barnch_name --track origin_branch_name#自定義從遠端切分支的名稱git push origin branch_name #遠端建立新分支
git還原某個特定的檔案到之前的版本
場景 對於某個git控制下的檔案進行了修改,但是改的不滿意,想退回到改之前的版本。假定該檔案為 src main main.c 解決方法 第一步 在命令列中輸入 git log src main main.c 得到該檔案的commit 歷史。會得到類似下面的介面 第二步 複製需要回退版本的hash,...
git還原某個特定的檔案到之前的版本
場景 對於某個git控制下的檔案進行了修改,但是改的不滿意,想退回到改之前的版本。假定該檔案為 src main main.c 解決方法 第一步 在命令列中輸入 git log src main main.c 得到該檔案的commit 歷史。會得到類似下面的介面 第二步 複製需要回退版本的hash,...
git還原某個特定的檔案到之前的版本
場景 對於某個git控制下的檔案進行了修改,但是改的不滿意,想退回到改之前的版本。假定該檔案為 abc.py 解決方法 第一步 在命令列中輸入 git log abc.py 得到該檔案的commit 歷史。會得到類似下面的介面 第二步 複製需要回退版本的hash,在此假設我們回退到 d98a0f56...