Git 常用技能

2021-07-16 06:19:11 字數 3864 閱讀 7779

學習使用 git 已經一年有餘,一些常用技能也用的爐火純青了,但偶爾碰到一些生僻的技能,總是需要去 google,第二次用時又忘了。所以這是一篇我自認為比較重要的 git 技能表,主要供自己查閱使用,反覆查閱能夠加深印象,提公升技能熟練度。如果你是還不知道 git 是什麼,建議先閱讀 廖雪峰的git教程。

git 最核心的乙個概念就是工作流。工作區(workspace)是電腦中實際的目錄;暫存區(index)像個快取區域,臨時儲存你的改動;最後是版本庫(repository),分為本地倉庫和遠端倉庫。下圖真是一圖勝千言啊,就無恥盜圖了。

git remote add origin git@server-name:path/repo-name.git  #新增乙個遠端庫

git remote      #要檢視遠端庫的資訊

git remote -v #顯示更詳細的資訊

git push origin master    #推送到遠端master分支

git clone git@server-name:path/repo-name.git   #轉殖遠端倉庫到本地(能看到master分支)

git checkout -b dev origin/dev #建立遠端origin的dev分支到本地,並命名為dev

git checkout origin/dev --track #與上面效果一樣

git pull origin master #從遠端分支進行更新

git fetch origin master #獲取遠端分支上的資料

git fetch origin pull/id/head:branchname

git checkout branchname

$ git branch --set-upstream branch-name origin/branch-name,可以建立起本地分支和遠端分支的關聯,之後可以直接git pull從遠端抓取分支。

另外,git pull=git fetch+mergeto local

$ git push origin --delete bugfix

to - [deleted] bugfix

# 或者直接push乙個空分支

$ git push origin :bugfix

to - [deleted] bugfix

專案往前推進的過程中,遠端倉庫上經常會增加一些分支、刪除一些分支。 所以有時需要與遠端同步下分支資訊。

git fetch -p
-p就是修剪的意思。它在fetch之後刪除掉沒有與遠端分支對應的本地分支,並且同步一些遠端新建立的分支和tag。

git log --pretty=oneline filename #一行顯示

git log -p -2 #顯示最近2次提交內容的差異

git show cb926e7 #檢視某次修改

git reset --hard head^    #回退到上乙個版本

git reset --hard cb926e7 #回退到具體某個版

git reflog #檢視命令歷史,常用於幫助找回丟失掉的commit

用head表示當前版本,上乙個版本就是head^,上上乙個版本就是head^^head~100就是上100個版本。

git status              #檢視工作區、暫存區的狀態

git checkout -- #丟棄工作區上某個檔案的修改

git reset head #丟棄暫存區上某個檔案的修改,重新放回工作區

git diff              #檢視未暫存的檔案更新 

git diff --cached #檢視已暫存檔案的更新

git diff head -- readme.txt #檢視工作區和版本庫裡面最新版本的區別

git diff #在合併改動之前,預覽兩個分支的差異

使用內建的圖形化git:gitk,可以更方便清晰地檢視差異。當然 github 客戶端也不錯。

git rm #直接刪除檔案

git rm --cached #刪除檔案暫存狀態

git stash           #儲藏當前工作

git stash list #檢視儲藏的工作現場

git stash pop #恢復工作現場,並刪除stash內容

git branch develop              #只建立分支

git checkout -b master develop #建立並切換到 develop 分支

git checkout master         #切換到主分支

git merge --no-ff develop #把 develop 合併到 master 分支,no-ff 選項的作用是保留原分支記錄

git branch -d develop #刪除 develop 分支

git tag         #列出現有標籤 

git show #顯示標籤資訊

###建立標籤

git tag v0.1    #新建標籤,預設位 head

git tag v0.1 cb926e7 #對指定的 commit id 打標籤

git tag -a v0.1 -m 'version 0.1 released' #新建帶注釋標籤

git checkout #切換到標籤

git push origin #推送分支到源上

git push origin --tags #一次性推送全部尚未推送到遠端的本地標籤

git tag -d #刪除標籤

git push origin :refs/tags/#刪除遠端標籤

設定 commit 的使用者和郵箱

git config user.name "xx"               #設定 commit 的使用者

git config user.email "[email protected]" #設定 commit 的郵箱

git commit --amend --author "jark wu " #修改上次提交的使用者資訊

git config format.pretty oneline #顯示歷史記錄時,每個提交的資訊只顯示一行

Android常用技能

轉換符 說明 s 字串型別 c字元型別 b布林型別 d整數型別 十進位制 x整數型別 十六進製制 o整數型別 八進位制 f浮點型別 2f 保留兩位小數的浮點型別 百分比型別 n換行符 tx日期與時間型別 tx轉換符中的x代表另外的處理日期和時間格式的轉換符,它們的組合能夠將日期和時間格式化成多種格式...

副本技能 玩轉GIT

命令列 git clone url 命令 git pull 命令 git status 1.txt 說明 將 變化輸出到專案根目錄的1.txt檔案中 命令 gitk 說明 1.本地和遠端 保持一致的是,master和orgin master在一起。2.本地 沒有加入版本控制,最上面的小紅點顏色為紅色...

Matlab常用小技能

1.在figure裡面把區域性圖放大的方法 2.title裡面顯示變數 title the temperature is num2str c 3.semilogy 畫圖時,每個網格線代表的刻度是10 0.1 網格線是均勻的 4.matlab中取整數的函式 fix 向零方向取整。round 向最近的方...