參考文章 (
git init 在指定本地目錄初始化git倉庫,會生成 .git檔案
git config 可以對git的一些基本命令進行配置,如縮寫
git config --global alias.br branch 例:br == branch
git add file 新增指定檔案到index
git add . 新增所有改動的檔案到index
git status 檢視local和index的區別,提供上下文資訊
git status -s 檢視local和index的區別,精簡型別,沒有上下文資訊,更直觀
git diff 檢視local和index的具體區別
git diff --cached 檢視index和snapshot的具體區別
git diff head local與index和snapshot的差異全部列出來
git diff --stat 顯示改動摘要,不顯示詳細資訊
git diff tag 顯示該標籤發布之後的所有改動
git commit 提交index內容到snapshot
git commit -a 等同於先git add . 再 git commit(如果是新檔案,仍然需要先add該檔案)
git commit -am "***xx" 等同於先add、再生成快照並同事備註***資訊
git reset head -- file 取消index內的檔案修改
git checkout -- file 恢復local檔案,加入index之後無法恢復,要使用reset
git checkout . 撤銷所有的檔案修改
git reset --hard 強行回退乙個版本
git reset --hard [commit id] 回退到指定版本
git rm -f file 強行刪除檔案,包括local區
git rm --cached file 從index刪除檔案,本地保留
git branch 列出所有的本地分支,當前處於的分支會有 * 提示
git branch -a 列出所有的分支,包括本地的和遠端倉庫的
git checkout *** 切換到某個分支
git checkout -b "***" 生成並切換到新分支***(本地)
git push --set-upstream origin [name] 在遠端倉庫建立分支並上傳
git branch -d "***" 刪除某個分支,如果還有內容沒有完全merge,會發出警告
git branch -d "***" 刪除某個分支,無視merge警告
git merge *** 把某個分支的內容合併到當前分支
git cherry-pick [commit id] 只合併某個提交點的內容到當前分支,不同於merge,merge會把所有差異的檔案內容都合併過來
vim 檔案 通過git直接修改某檔案
在mergging模式下,git diff 可以檢視具體的衝突內容,解決完衝突之後需要重新add commit
git log 檢視所有快照log
git log --oneline 以精簡的模式檢視log
git log --oneline --graph 檢視log的快照,能知道合併、merge的點
git log --oneline *** 檢視***分支的log資訊
git log --oneline *** ^yyy 檢視***分支的快照(但yyy分支中沒有的快照)log
git log --decorate 檢視的log資訊會顯示tag
git log [alias]/*** 檢視遠端倉庫別名為alias的***分支log
git log --author *** 只檢視***的提交
git log --author *** --oneline -5 只檢視***的最新5個提交
git log --oneline --before= --after= --no-merges 檢視某個日期之前且某個日期之後的提交
git log --grep *** 匹配備註資訊裡有***的log
git log filename 檢視某個檔案的每次commit記錄
git log -p filename 檢視某個檔案每次提交的diff
git show [commit id] 檢視某次提交的修改內容
以上字段 --oneline --decorate --graph 可以同時存在乙個命令列裡面,組合起來使用
git tag -a v1.0 在當前時間點打上乙個帶註解的標籤(v1.0),不加-a則不會記錄time,who,註解(類似commit的-m)
git tag -a v0.1 sha 可以給某個指定的快照追加tag,sha值為通過--oneline顯示出來sha值
git remote 列出遠端倉庫別名
git remote -v 列出遠端倉庫別名和鏈結位址
git remote add [alias] [url] 將url以alias的別名新增為本地的遠端倉庫
git remote rm [alias] 刪除某個遠端別名
origin是遠端倉庫的預設倉庫別名
git fetch [alias] 提取指定的遠端倉庫
git fetch --all 獲取所有的遠端倉庫資料
git pull 從遠端參控股提取資料並嘗試合併到當前分支,相當於 fetch + merge
git push [alias] [branch] 將branch分支推送到alias遠端倉庫的branch分支上
程式猿必須掌握的git命令
git status s m readme m表示修改過的檔案,沒有add mm rakefile 第乙個m表示修改過沒有add,第二個m表示 add了但是沒有commit a lib git.rb a表示新新增的檔案,已經add但是還沒有commit m lib git.rb m表示修改過但是沒有...
必須掌握的DOS命令(摘)
一,ping 它是用來檢查網路是否通暢或者網路連線速度的命令。作為乙個 生活 在網路上的管理員或者黑客來說,ping命令是第乙個必須掌握的dos命令,它所利用的原理是這樣的 網路上的機器都有唯一確定的ip位址,我們給目標ip 位址傳送乙個資料報,對方就要返回乙個同樣大小的資料報,根據返回的資料報我們...
必須掌握的DOS命令(摘)
一,ping 它是用來檢查網路是否通暢或者網路連線速度的命令。作為乙個 生活 在網路上的管理員或者黑客來說,ping命令是第乙個必須掌握的dos命令,它所利用的原理是這樣的 網路上的機器都有唯一確定的ip位址,我們給目標ip 位址傳送乙個資料報,對方就要返回乙個同樣大小的資料報,根據返回的資料報我們...