Git 學習筆記

2021-07-11 08:59:41 字數 2817 閱讀 3379

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 版...