Git 指令大全

git 指令大全

git add 新增檔案

git add .新增所有檔案
git add -u 新增修改過的部分(不包含Untracked)
git add -i add的互動模式

git commit 提交檔案

git commit -m 'commit massage' 單行提交
git commit --amend -m 編輯前一次的 commit 訊息

git reset 回復檔案

git reset 放棄保存到git的上個步驟,但保留電腦內的修改
git reset --hard=git reset --hard HEAD 回到最新一個 commit 版本 沒寫HEAD就默認為HEAD
git reset --hard HEAD~1 回到前一個 commit 版本 =git reset --hard HEAD^
git reset --hard HEAD~2 回到前前前一個 commit 版本 = git reset --hard HEAD^^
git reset --soft HEAD^ 回復到 commit 提交前的狀態( HEAD^ 代表前 1 次)

如果不小心回復錯誤,可以用

git reflog 可以看到過去幾次的修改紀錄,寫下想回到的hash值用
git reset --hard HEAD hash 回復

git stash 暫存

git stash 將修改的部分丟進暫存
git stash list 列出暫存的資料
git stash pop 取出暫存

git branch 分支

git branch 列出所有 branch
git branch new-branch 依此 branch 建立新的 branch
git branch new-branch master 從 master 產生新的 branch
git branch push -u origin new_branch 建立遠端 branch
git branch -f branchName commit-id 把某個 branch 強制移動到某個commit
git branch -a 顯示所有branch(包含remote)
git push origin :branch 刪除遠端branch

git checkout 切換

git checkout branch-name 切換到 branch-name
git checkout master 切換到 master
git checkout -b new-branch master 從 master 建立 new-branch 並同時切換過去
git checkout -b new-branch 從此 branch 建立 new-branch
git checkout -b newlocalbranchname origin/branch-name 建立來自remote的分支
git checkout -- file-name 放棄對檔案的修改(未commit前)

git tag 標記

git tag -l 列出所有 tag
git tag -a tag-name -m 'tag massage' 在目前的 HEAD 建立 tag-name 的 tag,並建立 tag massage 訊息
git tag tag-name commit-id 在 commit-id 的 HEAD,建立 tag-name 的 tag

git log 記錄

git log 將所有 log 秀出來
git log --graph --oneline --all 展出 branch 水管圖

git pull 更新遠端回來

git pull origin master 更新遠端origin(預設)的remote裡面的master分支回來

git push 送檔案到遠端

git push origin master 更新到遠端origin(預設)的remote裡面的master分支
git push remote yourbranch:master 更新某個branch到remote的master上(通常只能夠master push 到 master)

git clean 清除檔案

git clean -f 刪除專案 untracked 的檔案
git clean -f -d 刪除專案 untracked 的檔案、資料夾
git clean -f -X 刪除專案 ignored 的檔案

git merge 合併檔案

git merge branch 將branch 合回到master, 但如果master有修改過也會被覆蓋
git rebase branch 將branch 合回到master, 但如果master有修改過會保留修改的地方

comments powered by Disqus