git實用複習篇之一步到位!

XiLan發表於2021-08-28
  • 本篇 初衷為 複習一下 git 因為 git 操作比較重要,日常雖然使用的操作不是很多,但也比較重要

1、起步

1、分散式

2、獨立開

3、安裝直接官網 不談了

4、過程

image.png

2、常用命令

1、檢視目錄 pwd
2、git init 初始化一個git倉庫 其實就是加了一個.git 檔案
3、常規 新增內容三連操作
    git add .
    git commit -m 'xxx'
    git push
4、常規 新建分支操作 
    git checkout -b 'xxx'
    git push(將當前分支提交遠端)
    當然 git push 之後可能會 執行 提示命令 直接 執行就行
    
5、檢視狀態 git status
   檢視差異 git diff 
   檢視歷史記錄 git log

6、版本回退 git reset --hard HEAD^
   回退錯誤 想撤銷怎麼辦  git reflog

7、撤銷 修改 git checkout -- file 注意需要 加上 --
8、刪除檔案  rm test.txt
   上面這種情況的撤銷刪除  git checkout -- test.txt
   
   刪除版本庫檔案  git rm test.txt
                git commit -m "remove test.txt"
複製程式碼

3、談談分支管理

1、常用分支策略 展示

 git checkout -b dev
Switched to a new branch 'dev'

複製程式碼
git branch
* dev
  master
複製程式碼
  • 當 dev 開發完成 後需要合併到master
git merge dev
複製程式碼
  • 然後 刪除 開發分支
 git branch -D dev (強制刪除)
 git branch -d dev
Deleted branch dev (was b17d20e).
複製程式碼
  • 檢視後只剩下 master
git branch
* master
複製程式碼

2、建立和切換分支有第二種方法

檢視分支:git branch

建立分支:git branch <name>

切換分支:git checkout <name>或者git switch <name>

建立+切換分支:git checkout -b <name>或者git switch -c <name>

合併某分支到當前分支:git merge <name>

刪除分支:git branch -d <name>

3、關於衝突 需要做個選擇

1、使用 當前的內容還是遠端的內容 
2、需要 手動選擇新的 正確的部分 
3、git log --graph 命令可以看到分支合併圖(沒用過)
複製程式碼

4、關於新建bug 分支

1、但當前開發分支 內容修改了一半 出現bug  怎麼處理 ? git stash 暫存修改
    常規在當前開發分支 建立bug分支 git checkout -b bug-fixed 
                   需要記得 git push 推到遠端才行
3、完成修復後切換到 dev分支 git merge bug-fixed 合併一下 
4、但剛才 git stash暫存 怎麼恢復 ?(展示下面兩種方法)
        0、檢視 stach 列表 git stash list
        1、git stash apply + git stash drop(刪除 stash 內容)
        2、git stash pop,恢復的同時把stash內容也刪了
        3、再次檢視 git stash list 看不到任何內容 
        
        4、可多次stash,恢復的時候,先用`git stash list`檢視,然後恢復指定的stash,用命令:
            git stash apply stash@{0}

複製程式碼

5、推送分支

1、檢視遠端庫資訊,使用 git remote -v
2、git push origin dev
3、從本地推送分支,使用 git push origin branch-name,如果推送失敗,先用 git pull 抓取遠端的新提交
4、下面幾個慎用 
     -   在本地建立和遠端分支對應的分支,使用 git checkout -b branch-name origin/branch-name,本地和遠端分支的名稱最好一致;
    -   建立本地分支和遠端分支的關聯,使用git branch --set-upstream branch-name origin/branch-name;
    -   從遠端抓取分支,使用 git pull ,如果有衝突,要先處理衝突
複製程式碼

6、rebase(變基 少用)

1、git rebase 讓多次提交記錄 展示為一條線
複製程式碼

7、打 tag(標籤)

1、選擇需要 打tag 分支
$ git branch
* dev
  master
$ git checkout master
Switched to branch 'master'

2、打tag操作 git tag v1.0
3、檢視當前tag 
    git tag
    v1.0

4、之前需要 打tag 忘記了 現在補上怎麼辦 
    先執行git log --pretty=oneline --abbrev-commit
    然後找到 對應的commit id 
    git tag v0.9 f52c633
    git show <tagname> 檢視標籤資訊

5、刪除 tag 
    -   命令`git push origin <tagname>`可以推送一個本地標籤;
    -   命令`git push origin --tags`可以推送全部未推送過的本地標籤;
    -   命令`git tag -d <tagname>`可以刪除一個本地標籤;
    -   命令`git push origin :refs/tags/<tagname>`可以刪除一個遠端標籤
複製程式碼

4、出錯了怎麼辦

1、新建分支錯誤 
    * 比如 需要基於master 新建xxx 但你基於 321 分支 新建的 
    1、刪除遠端分支 xxx
    2、使用 git branch 檢視本地分支 
       使用 git -D xxx  刪除本地分支 
    3、git checkout master 
    4、git pull
    5、git checkout -b xxx
        git push 
    6、然後就可 開心的在當前分支 dev 了 

複製程式碼

相關文章