amend用法 git 資訊 git 高階用法小抄

2021-10-13 23:28:01 字數 2619 閱讀 1148

如果你覺得 git 很迷惑人,那麼這份小抄正是為你準備的!請注意我有意跳過了git commitgit pull/push之類的基本命令,這份小抄的主題是 git 的一些「高階」用法。

git checkout -
# 每個提交在一行內顯示

git log --oneline

# 在所有提交日誌中搜尋包含「homepage」的提交

git log --all --grep='homepage'

# 獲取某人的提交日誌

git log --author="maxence"

# 獲取所有操作歷史

git reflog

# 重置到相應提交

git reset head@

# ……或者……

git reset --hard

git fetch origin

git checkout master

git reset --hard origin/master

git diff master..my-branch
# 編輯上次提交

git commit --amend -m "更好的提交日誌"

# 在上次提交中附加一些內容,保持提交日誌不變git add . && git commit --amend --no-edit

# 空提交 —— 可以用來重新觸發 ci 構建

git commit --allow-empty -m "chore: re-trigger build"

squash 提交比方說我想要 rebase 最近 3 個提交:

- git rebase -i head~3

- 保留第一行的 pick,剩餘提交替換為 squash 或 s

- 清理提交日誌並儲存(vi 編輯器中鍵入 :wq 即可儲存)

pick 64d26a1 feat: add index.js

s 45f0259 fix: update index.js

s 8b15b0a fix: typo in index.js

比方說想在提交 fed14a4c 加上一些內容。

git 提交分支

git add .

git commit --fixup head~1

# 或者也可以用提交的雜湊值(fed14a4c)替換 head~1

git rebase -i head~3 --autosquash

# 儲存並退出檔案(vi 中輸入 `:wq`)

如果特性很多,乙個分支裡可能有多個提交。如果測試失敗了,你希望能找到導致測試失敗的提交。這時候你可以使用rebase --exec命令在每個提交上執行命令。

# 在最近 3 個提交上執行 `npm test` 命令

git rebase head~3 --exec "npm test"

暫存不止是git stashgit stash pop ;)

# 移除遠端倉庫上不存在的分支

git fetch -p

# 移除所有包含 `greenkeeper` 的分支

git fetch -p && git branch --remote | fgrep greenkeeper | sed 's/^.\//' | xargs git push origin --delete

我把 hub 當成 git 的乙個封裝來用。你如果也想這麼做,可以設定乙個別名:alias git='hub'

# 開啟瀏覽器訪問倉庫 url(僅限 github 倉庫)git browse
alias g='git'

alias glog='git log --oneline --decorate --graph'

alias gst='git status'

alias gp='git push'

alias ga='git add'alias gc='git commit -v'

# ?alias yolo='git push --force'

# 每週站會匯報工作時用

git-standup() 

since=yesterday

if [[ $(date +%u) == 1 ]] ; then

since="2 days ago"

figit log --all --since "$since" --oneline --author="$author"

}

你最喜歡的 git 命令是哪個呢?- end -

Git 教程 Git 基本用法

git 是當前最流行的版本控制程式之一,文字包含了 git 的一些基本用法 建立 git 倉庫 初始化 git 倉庫 mkdir project 建立專案目錄 cd project 進入到專案目錄 git init 初始化 git 倉庫。此命令會在當前目錄新建乙個 git 目錄,用於儲存 git 倉...

git學習筆記 git入門 git基本用法

git可以有效的處理專案版本管理,掌握git是很重要的,以下是我在學習的過程和一些體會 使用mkdir建立乙個專案目錄 進入目錄,建立git倉庫 輸出如上所示,使用 ls al 命令可以看到乙個名為 git 的目錄在該目錄下建立,這就表示乙個倉庫成功被初始化了 可以使用touch命令建立檔案,用vi...

Git 用法總結

git 最基本使用方法 作為乙個git的基本使用者,從應用的角度對git的用法做個小結,這裡並不涉及git的工作原理,1.git repo branch的建立方法 1 直接從server段copy乙個repo到本地,作為開發的code base,這是最常見最基本的用法 git clone 2 在伺服...