建立git使用者
$ git config --global user.name "your name"
$ git config --global user.email "[email protected]"
初始化乙個git倉庫,使用git init
命令。
新增檔案到git倉庫,分兩步:
使用命令git add
,注意,可反覆多次使用,新增多個檔案;
使用命令git commit -m
,完成上傳到庫
git commit
有可能是上傳log
add 是檔案到暫存區
commit 是檔案到庫多次add,一次commit
比較工作區與暫存區
git diff
不加引數即預設比較工作區與暫存區
比較暫存區與最新本地版本庫(本地庫中最近一次commit的內容)
git diff --cached [...]
比較工作區與最新本地版本庫
git diff head [...]
如果head指向的是master分支,那麼head還可以換成master
git status
是狀態
git reset --hard head^
是回到某版本,回到前100個版本用git resert --hard head~100
,以此類推。
git resert --hard head^
是回到前乙個版本,以此類推
git鼓勵大量使用分支:
檢視分支:git branch
建立分支:git branch
切換分支:git checkout
建立+切換分支:git checkout -b
合併某分支到當前分支:git merge
刪除分支:git branch -d
如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d
強行刪除。
當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。
用git log --graph
命令可以看到分支合併圖。
合併分支時,加上--no-ff
引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。
修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;
當手頭工作沒有完成時,先把工作現場git stash
一下,然後去修復bug,修復後,再git stash pop
,回到工作現場;
git stash list
命令看看當前的stash列表
另一種方式是用git stash pop
,恢復的同時把stash內容也刪了:
在master分支上修復的bug,想要合併到當前dev分支,可以用git cherry-pick
命令,把bug提交的修改「複製」到當前分支,避免重複勞動。是指雜湊值。
git checkout -- file
是把工作區的某個檔案恢復的和暫存區一樣,但是git checkout -- file
的file
是無法省略的,也就是說只能恢復某乙個檔案不能恢復全部檔案。要恢復全部檔案的話要用git reset --hard head
。
git reset head file
是把暫存區的檔案恢復到和庫一樣的狀態。
git reset --hard head^
工作區和暫存區是回到某版本,回到前100個版本用git resert --hard head~100
,以此類推。
git resert --hard head^
是回到前乙個版本,以此類推。
一般情況下是這樣的,如果修改了乙個檔案,並且想要撤銷修改的話,檔案有以下幾種狀態
git reset 的進一步解釋可以參考閱讀這個文章
git remote add oraign url
來關聯遠端庫。
git push -u oraign master
來推送到遠端庫
git push oraign
來推送其他分支
git pull
來獲取分支內容
git checkout -b dev origin/dev
建立遠端origin的dev分支到本地
git pull
把最新的提交從origin/dev抓下來
我的git筆記
git add 將修改的檔案放入緩衝區 stage或index git add help 獲取幫助 git add u 儲存修改和刪除,不包括新建檔案 update git add 儲存新的新增和修改,不包括刪除檔案,親測 無效 不知原因 git add a 儲存所有 all git add 檔名 ...
我的Git學習筆記
一 基本操作 1.首先建立乙個版本庫,在所需檔案下面,右鍵git bash here,然後執行 git init 這樣,版本庫即可建立成功。2.將檔案新增到版本庫中,使用 git add 檔名 即可將檔案加入到版本庫中。3.提交檔案。git commit m 本次提交的注釋 4.版本檢視。使用git...
我的Git筆記開篇 基本概念
趁著過年,我把之前學習過的git內容好好整理了一下,準備寫幾篇關於git的部落格,一方面可以加深我對git的認識,另一方面也希望可以幫助到有需要的小夥伴。我在使用git工具的時候,經常會碰到這樣幾個概念 倉庫 引用 工作區 物件。這幾個概念可以說是git學習的核心點了,只要把這幾個概念弄清楚,後面使...