鼠標墊上的Git知識庫

image.png

前言

Hello,你們好,我是CrazyCodes,以前在極客時間上買過一個git鼠標墊,感受其知識點展現的很是幹練,現手敲分享給你們,文末有購買連接。git

Git最小配置

某帳號下全部的Git倉庫都有效

git config --global user.name '您的名稱'
git config --global user.email '您的Email'

只對當前Git倉庫有效

git config --local user.name '您的名稱'
git config --local user.email '您的Email'

查看Git的配置

查看global類型的配置項

git config --global --list

查看只做用於當前倉庫的配置項

git config --local --list

清除Git的配置

清除global類型的配置項

git config --unset --global 某個配置項

清除某個倉庫的配置項

git config --unset --local 某個配置項

本地基本操做

查看變動狀況

git status

查看當前工做在哪一個分支上

git branch -v

切換到指定分支

git checkout 指定分支

把當前目錄及其目錄下全部變動都加入到暫存區

git add .

把倉庫內全部變動都加入暫存區

git add -A

把指定文件添加到暫存區

git add 文件1 文件2 文件3

建立正式的commit

git commit

比較某文件工做區和暫存區的差別

git diff 某文件

比較某文件暫存區和HEAD的差別

git diff HEAD 某文件

比較工做區和暫存區的全部差別

git diff --cached

把工做區指定文件恢復成和暫存區同樣

git checkout 文件1 文件2 文件3

把暫存區指定文件恢復成和HEAD同樣

git reset 文件1 文件2 文件3

把暫存區和工做區全部文件恢復成和HEAD同樣

git reset --hard

用difftool比較任意兩個commit的差別

git difftoll 提交A 提交B

查看哪些文件沒被Git管控

git is-files --others

加塞臨時任務的處理

把未處理完的變動先保存到stash中

git stash

臨時任務處理完後繼續以前未完的工做

git stash pop
或者
git stash apply

pop不保留stash,apply保留stash安全

查看全部的stash

git stash list

取回某次stash的變動

git stash pop stash@{數字n}

修改我的分支的歷史

修改最後一次commit

  1. 在工做區修改文件
  2. git add .
  3. git commit --amend

修改中間的commit(代號x)

  1. git rebase -i X前面一個commit的id
  2. 在工做區修改文件
  3. git add .
  4. git rebase --continue

後續可能須要處理衝突,直到rebase結束app

查看變動歷史

當前分支各個commit用一行顯示

git log --oneline

顯示就近的n個commit

git log -n

用圖示顯示全部分支的歷史

git log --oneline --graph --all

查看涉及到某文件變動的全部commit

git log 某文件

某文件各行最後修改對應的commit 以及做者

git blame 某文件

分支與標籤

基於當前分支建立新分支

git branch 新分支

基於指定分支建立新分支

git branch 新分支 已有分支

基於某個commit建立分支

git branch 新分支 某個commit的id

建立分支並切換到該分支

git checkout -b 新分支

列出本地分支

git branch -v

列出本地和遠端分支

git branch -av

列出遠端全部分支

git branch -rv

列出名稱符合某樣式的遠端分支

git branch -rv -l '某樣式'

安全刪除本地某分支

git branch -d 擬刪除分支

強行刪除本地某分支

git branch -D 擬刪除分支

刪除已合併到master分支的全部本地分支

git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d

刪除遠端origin 已不存在的全部本地分支

git remote prune origin

給commit打上標籤

git tag 標籤名 commit的id

兩分支之間的集成

把A分支合入到當前分支,且爲merge建立commit

git merge A分支

把A分支合入到B分支,且爲merge建立commet

git merge A分支 B分支

把當前分支基於B分支作rebase,以便把B分支合入到當前分支

git rebase B分支

把A分支基於B分支作rebase,以便把B分支合入到A分支

git rebase B分支 A分支

用mergetool解決衝突

git mergetool

和遠端的交互

列出全部remote

git remote -v

增長remote

git remote add url地址

刪除remote

git remote remove remote的名稱

改變remote的name

git remote rename 舊名稱 新名稱

把遠端全部分支和標籤的變動都拉到本地

git fetch remote

把遠端分支的變動拉到本地,且merge到本地分支

git pull remote 名稱 分支名

把本地分支push到遠端

git push remote 名稱 分支名

刪除遠端分支

git push remote --delete 遠端分支名
或者
git push remote 遠端分支名

向遠端提交指定標籤

git push remote 標籤名

向遠端提交全部標籤

git push remote --tags

致謝

感謝你看到這裏,但願本篇文章能夠幫到你,謝謝。fetch

鼠標墊內容做者:蘇玲 購買連接url

相關文章
相關標籤/搜索