Git命令高階

2022-06-13 12:54:08 字數 3078 閱讀 6585

1.1.1 忽略資料夾

vim gitigorne 

-------------------------------

test/* # 忽略test資料夾下的所有檔案

*.class # 忽略以class結尾的所有檔案

1.1.2 設定反向配出
!test/index.php # 排除忽略test資料夾下的index.php檔案
!表示要排除的意思,因此在.gitignore資料夾中加入!也可以理解為取反的意思

有的時候,可能一不小心把某乙個原本應該忽略的目錄提交到了版本控制器中,再使用.gitignore檔案去忽略它的時候,發現無論如何都無法再次將其忽略,只好默默忍受;其實這是因為git已經索引了該檔案而導致.

1.2.1 忽略已存在的檔案和資料夾

git rm --cached test2/index.php # 從換從中刪除已提交的檔案

git rm -r --cached test3/ # 刪除快取中的資料夾

git add -f test3
注意:反向忽略應用場景是該資料夾大部分檔案需要被忽略,只需要保留少部分的檔案

忽略已存在的資料夾最後一步需要使用-f進行強制新增,否則會提示操作失敗

主要有兩個部分:1. 比較分支的提交記錄 2. 比較分支的**差異。

檢視差異分為兩種,具體的**檔案差異,和提交記錄的差異,**的具體差異分為3中方式:

檢視了那些檔案被修改了

檢視某個檔案的**差異

檢視全部**差異

2.1.1 檢視檔案差異

我們想知道當前的分支與另外乙個分支,有哪幾個檔案不一樣,這個時候可以使用如下參考命令:

git diff master dev --stat
2.2.1 顯示檔案具體修改

通過前面的檔案修改差異,知道了哪些檔案被修改了,現在想知道具體被修改了什麼內容

git diff master develop 檔名
2.2.2 顯示全部檔案的修改
git diff master develop
通常檢視提交記錄的不同有下面幾種方法:

檢視a分支有但b分支沒有的記錄

單純的比較兩個分支的差異

顯示某個記錄在某些分支上是否存在。

2.2.1 檢視提交新紀錄

檢視develop分支中有的記錄而在master分支中沒有的記錄

2.2.2 單純比較差異

只檢視兩個分支記錄有什麼不一樣

git log branch1.. branch2
2.2.3 檢視各記錄存在於那些分支上
git log --left-right develop...test

在圖中,注意看我黃色框選的箭頭符號,因為我們在命令中加入了-–left-right所以左箭頭<表示是 develop 的,右箭頭 > 表示是 test 分支的。

基於當前的分支新建乙個分支,並修改**提交

使用git diff 分支1 分支2的方式進行**差異比較

使用git log 分支1..分支2的方式進行提交記錄的差異比較

git reset logdoe # 回退到指定的日誌記錄

git reset head^ # 撤銷最近一次提交

但是**其實仍然是沒有變化的,我們這裡可以使用git checkout檔名來撤銷檔案修改,撤銷修改後再通過git status去確認當前狀態,參考命令如下

git checkout index.php  && git status
本地不存在,遠端存在該分支,但不需要了

遠端不存在,本地存在該分支,也不需要了

# 清理遠端分支

git branch -a # 檢視所有分支

git push origin --delete dev # dev: 遠端分支的名稱

# 清理本地分支

git checkout -b test #建立新分支

git push --set-upstream origin test # 第一次將本地分支推送到遠端伺服器

git remote show origin # 檢視遠端倉庫資訊

# 會拉去遠端的分支資訊與本地的資訊做對於,發現遠端分支已經刪除,會對本地分支做標註

git remote prune origin

git branch -vv # 檢視關聯失效的分支 [...: gone] 表示當前分支遠端已經標記刪除

git branch -d test # 刪除分支

#檢視當前遠端位址

git remote -v

# 推送到遠端倉庫

git remote add github

# 修改預設推送位址 -u

git push -u github

# 從制定倉庫拉去**

git pull github

# 刪除遠端位址

git remote remove github

# 同時推送多個位址

git remote set-url --add origin https://....倉庫位址

git 高階命令

git用了很久,基本的 add a commit m push pull,經常用 其它的不會用 git git分支 git內部原理 git命令 git別人的一點總結 git有一些很讓人蛋疼,且非常容易混淆的命令,我總結一下 workspace add stage commit history pus...

git 高階命令

git bisect 執行git bisect 通常是為了找出某個導致版本庫產生倒退或bug的特殊提交 例如 你的版本庫已經從乙個已知的 好 狀態過渡到乙個已知的 壞 狀態,但是是什麼時候的呢?是哪個提交導致崩潰的?使用git bisect可以幫你解決問題的答案 git blame 此命令可以告訴你...

git命令高階

之前有一篇git的文章,就是幾個入門的命令,怎樣把 提交到倉庫裡面去。但是提交的過程中總不是一帆風順,特別是多人協作的時候。第一步我們需要把 拉取到本地 git clone 第二步檢視分支 git branch r 加上 r是看遠端倉庫的分支,去掉是檢視本地的分支 git branch a 檢視所有...