git鼓勵大量使用分支:
1、-- git config 命令的 --global 引數,用了這個引數,表示你這台機器上所有的git倉庫都會使用這個配置
git config --global user.name "your name"
git config --global user.email "[email protected]"
******************** 建立版本庫
-- 通過 git init 命令把這個目錄變成git可以管理的倉庫
git init
當前目錄下多了乙個.git的目錄,這個目錄是git來跟蹤管理版本庫的
-- 用命令git add告訴git,把檔案新增到倉庫
git add readme.txt
-- 用命令git commit告訴git,把檔案提交到倉庫 -m 後面輸入的是本次提交的說明
git commit -m "wrote a readme file"
初始化乙個git倉庫,使用git init命令。
新增檔案到git倉庫,分兩步:
第一步,使用命令git add ,注意,可反覆多次使用,新增多個檔案;
第二步,使用命令git commit,完成。
-------------------
git status 讓我們時刻掌握倉庫當前的狀態
git diff readme.txt
要隨時掌握工作區的狀態,使用git status命令。
如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容。
***************版本回退
git log
git log --pretty=oneline
git reflog 記錄你的每一次命令
--上 乙個版本就是head^,上上乙個版本就是head^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成head~100
git reset --hard head^ 回退到上乙個版本
git reset --hard 3628164 3628164...是回退的版本號,沒有必要寫全,前幾位就可以了,git會自動去找。
***************=工作區和暫存區
工作區(working directory): 就是你在電腦裡能看到的目錄
版本庫(repository) : 工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫
**********撤銷修改
命令 git checkout -- readme.txt 意思就是,把readme.txt檔案在工作區的修改全部撤銷
git checkout -- file命令中的--很重要,沒有--,就變成了「切換到另乙個分支」的命令
用命令 git reset head file 可以把暫存區的修改撤銷掉(unstage),重新放回工作區
場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。
場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。
**********刪除檔案
一是確實要從版本庫中刪除該檔案
git rm test.txt
git commit -m "remove test.txt"
另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本
git checkout -- test.txt
分支管理
主分支 master分支
我們建立dev分支,然後切換到dev分支
git checkout -b dev
檢視分支:git branch
git branch -a 檢視所有遠端分支
建立分支:git branch
切換分支:git checkout
建立+切換分支:git checkout -b
合併某分支到當前分支:git merge
刪除分支:git branch -d
git log --graph 命令可以看到分支合併圖
git log --graph --pretty=oneline --abbrev-commit
標籤管理
*****建立標籤
git tag v1.0
指定某個提交打標籤
git tag v0.9 6224937
還可以建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字:
git tag -a v0.1 -m "version 0.1 released" 3628164
git tag
git show v0.9
*****=操作標籤
git tag -d v0.1 刪除標籤
如果要推送某個標籤到遠端,使用命令
git push origin
一次性推送全部尚未推送到遠端的本地標籤
git push origin --tags
命令git push origin :refs/tags/可以刪除乙個遠端標籤
**********忽略特殊檔案
.gitignore
github
我們第一次推送master分支時,加上了-u引數
git push -u origin master
從現在起,只要本地作了提交,就可以通過命令:
git push origin master
git clone [email protected]:michaelliao/gitskills.git
Git學習筆記
git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...
git 學習筆記
1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...
Git 學習筆記
顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...