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 檢視所有...