Git 備忘清單
我每天都在使用 Git ,但是很多命令如果不是經常使用是很難記住的,於是整理了以下Git 命令清單,方便需要的時候查詢。
持續更新中…
基礎配置命令
- 檢視圖形介面
gitk --all&
- 顯示log資訊
git log --author=name #顯示某個作者的資訊 git log --graph --oneline --decorate --all #圖形化顯示 git log --pretty=oneline # 單行顯示 git log --name-status #顯示修改檔案詳情 git shortlog # 顯示按字母順序排序的人名列表,以及他們對應的提交說明 git shortlog -s -n # 只顯示每個開發者的 commit 數量 git log --oneline --author="Paul Lewis" #單行顯示"Paul Lewis"的所有commit git show 5966b66 #顯示SHA=5966b66的commit資訊 git log --grep=bug #顯示提到bug一詞的commit
- 檢視隱藏目錄.git
ls -ah
- Git config:
git config --global color.ui true #彩色命令列顯示 git config format.pretty oneline #單行顯示
- 建立SSH key
ssh-keygen -t rsa -C "[email protected]" cat ~/.ssh/id_rsa.pub
Git 檔案狀態切換:
-
不想追蹤某個檔案:
- Add the name to .git\info\exclude
- Add the name to .gitignore
-
將改動加到staging區 stage
git add . #Stage all git add .gitignore #stage .gitignore
-
將改動移除staging區 unstage
git reset HEAD api.c
-
刪除工作區的改動 discard
git checkout -- api.c #discard changes in working directory
-
刪除追蹤的檔案 untracked
git rm --cached api.c
-
恢復誤刪的檔案
git checkout -- api.c
git checkout 其實是用版本庫裡的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。
- 刪除 untracked files
git clean -f -n #檢視可以被刪除的untracked files git clean -f
分支及遠端操作
-
推送到遠端
git remote add origin [email protected]: git push -u origin master
-
新建分支dev
git checkout -b dev
-
推送分支
git push origin <branch>
-
刪除分支
git checkout master git branch -d dev
-
刪除遠端分支
git push origin --delete dev
版本切換
-
退回之前的版本
在Git中,用HEAD表示當前版本,上一個版本就是HEAD^, 上上一個版本就是HEAD^^,往上100個版本HEAD~100。git reset --hard HEAD^
-
恢復刪除的版本
git reflog git reset --hard b6e2045
合併改動Merge
- fast forward merge
git checkout master git merge dev
- 禁用Fast forward
git merge --no-ff -m "merge with no-ff" dev
Submodule
- 新增submodule
git submodule add ssh://myrep.git
- 刪除submodule
git submodule deinit -f -- submodule_folder/ git rm -f submodule_folder/
Patch
-
從某一個commit 生成patch
git format-patch -1 <sha> --stdout > specific_commit.patch
-
從當前HEAD生成包含x個commit的patch
git format-patch -x --stdout > patch-ddmmyy.patch # where -x means how many commits back from the current head and it has to be integer.
-
檢查patch狀態
git apply --stat fix_bug.patch git apply --check fix_bug.patch
-
打patch
git am --signoff < fix_bug.patch
其他命令
-
暫存未完成的改動
git stash git stash list # 檢視list git stash pop #恢復stash
-
標籤
git tag V1.0 f1e9cf9 #新增 git tag -d V0.1 #刪除
-
比較差異:
git diff #everything unstaged diffed to the last commit git diff --cached #everything staged diffed to the last commit git diff HEAD #everything unstaged and staged diffed to the last commit
-
rebase 命令:
git rebase -i HEAD~3 # 互動式地將 commit 變基到我們當前所在的 commit 向前三個的 commit git rebase origin/master # 在 master 後直接新增一個新版本,令提交歷史更簡潔
參考:
相關推薦
Git 備忘清單
我每天都在使用 Git ,但是很多命令如果不是經常使用是很難記住的,於是整理了以下Git 命令清單,方便需要的時候查詢。 持續更新中… 基礎配置命令 檢視圖形介面gitk --all& 顯示log資訊git log --author=name #
git備忘 & ProGit筆記
windows 是我 amp -s use 使用 找到 nbsp 筆記 git configgit config xxxxx xxxx可以是 --global(使用的是~/.gitconfig) --system(據說在linux下面使用的是/etc/gitconf
git hub 操作步驟備忘
title 終端 gen gmail fetch 新版本 ble 備忘 ber 我是在碼雲上申請了 github賬號。用法和官方的一樣,只不過碼雲可以設置私有項目。 ------------------------------------------------------
git命令備忘
chan add {0} app list clas stash smi apply git log git status git stash list git status git add . git stash save ‘jsmind‘ git status gi
git命令整理備忘
git命令 ant xxx over set data- pan jad 回滾 git命令整理備忘 參考https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
自動輸入Git密碼的小程式(僅做備忘用)
開發中用到Git,我用的是TortoiseGit,經常需要輸入密碼,很煩人,就隨手寫了個檢測密碼視窗並自動輸入的程式。 (當然,也可以用生成自動驗證金鑰,不過我沒有服務端的許可權,沒辦法產生) 下面把程式碼貼下來備忘,其中有註釋部分沒搞明白,有誰知道為啥不行的告訴我一下啊!本人剛不勝感激
備忘筆記 Git
初始化使用者(--global表示設定為全域性配置): git config [--global] user.name "Vince" git config [--global] user.email "[email protected]" 初始化倉庫: git init
Git常用命令整理備忘
增刪查改+遠端 增: 初始化git倉庫: git init 設定使用者名稱和使用者郵箱: git config --global user.name "使用者名稱"
實用收藏Linux命令備忘
屏幕 ssh 狀態 標準輸出 系統 play mkdir ger rdquo 系統操作 #使用shutdown命令馬上重啟系統[[email protected]/* */ ~]# shutdown –r now #使用shutdown命令馬上
cpan安裝perl module的方法和步驟(備忘帖)
roo for lora pre permanent help base -i rmi 適用場景:不具備root權限且沒有sudo權限的普通用戶安裝perl module安裝步驟:1)刪除/.cpan/.lockrm -rf /home/users/.cpan/.lock2
linux備忘
blog mage 技術分享 img src http image alt logs linux備忘
Python備忘
class 安裝 ont 備忘 org 開源 ron 自己的 color Python 庫索引中包含了大量開源的庫,你可以在你自己的程序中使用它們。 要想了解如何安裝並使用這些庫,你可以使用 pip。Python備忘
ajax基礎------備忘
user odi blog www action writer word nal urlencode 1:register.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"
[2017.5.29]備忘 買書 挑戰程序設計競賽
nio com html 備忘 %d gda .html amp click http://product.dangdang.com/23272528.html?_utm_sem_id=231367&_ddclickunion=422-kw-4-%CD%BC%CA%
nginx發布靜態目錄備忘
centos nginx 靜態目錄 發布靜態文件前陣子配一個靜態目錄,想當然的覺得相當簡單,不就是寫個目錄嗎。配完以後怎麽都不行,一直出404。找了一些文章,看來看去,我的配置是對的呀,這實在奇怪。今天中午吃飯時候突然想到,可能是因為目錄多寫了一級,飯後一試,果然。原先配置文件裏是這樣寫的:server /
awk備忘
.... 其中 改變 tor 程序設計語言 次數 state 對數 http awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進
inode備忘
自動 生成 nbsp 12g 隱藏 日期 device 源文件 100% 文件名 -> inode -> device block 轉自:http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html
Laravel之備忘項(不定期更新)
自定義字段 ida 不定 blog red color request validate 打印sql 1.自定義字段驗證錯誤信息 $this->validate($request, [‘name‘ => ‘required|max:5
JQuery 備忘
checked can 獲取值 ont tor undefined blog 及其 節點 一、.on() .bind() .delegate() .live()的區別 jquery 1.7之後建議綁定事件用 .on( ),移除事件處理函數用 .off( ) $(
MySQL備忘點(下)
update 虛擬 主鍵 ble str 內聯 完全 語句 innodb 聯結表 創建聯結 FROM 表1,表2 與內連接作用相同類似;如果失去WHERE子句,會出現笛卡爾積現象 內聯結 INNER JOIN 高級聯結 自聯結 例子: