git -速查表

原地址https://laravel-china.org/topics/8551/git-lookup-table

Git速查表

最簡單的版本控制工具php

git命令大體分爲這幾個模塊

序號 模塊 功能
1 CREATE 關於建立的
2 LOCAL CHANGES 關於本地改動方面的
3 COMMIT HISTORY 關於提交歷史的
4 BRANCHES & TAGS 關於分支和標籤類的
5 UPDATE & PUBLISH 關於更新和發佈的
6 MERGE & REBASE 關於分支合併類的
7 UNDO 關於撤銷類的

CREATE

從遠程倉庫獲取代碼laravel

$ git clone ssh://user@domain.com/repo.git

初始化本地倉庫git

$ git init

LOCAL CHANGES 錨點

查看倉庫的狀態,(顯示已改動的文件)dom

$ git status

比較工做區與最新本地版本庫ssh

$ git diff 
$ git diff <fileName>

添加全部變化(新增 new、修改 modified、刪除 deleted)到暫存區工具

$ git add -A 

添加全部變化(新增 new、修改 modified)到暫存區,不包括被刪除(deleted)文件fetch

$ git add .

添加修改(modified)和被刪除(deleted)文件,不包括新文件(new)也就是否是被追蹤文件(untracked)url

$ git add -u

添加文件內某些改動到暫存區spa

$ git add -p <file>

提交全部的放在暫存區的文件和已經修改(不在暫存區)的文件,且問件是要被追蹤(tracked)的版本控制

$ git commit -a

提交全部被在暫存區的問件

$ git commit

修改上一次提交日誌

$ git commit --amend

COMMIT HISTORY

查看提交日誌

$ git log

跟蹤查看某個文件的歷史修改記錄

$ git log -p <file>

查看文件是誰何時修改什麼地方

$ git blame <file>

BRANCHES & TAGS

查看全部分支(包括遠程分支)

$ git branch -a

查看全部分支(包括遠程分支)和最後一次提交日誌

$ git branch -av

切換分支

$ git checkout <branch>

新建分支,不帶old-branch爲默認在當前分支上創建新分支

$ git branch <new-branch> <old-branch>

新建而且換分支

$ git checkout -b <new-branch>

刪除分支,先切換其餘分支再刪除

$ git branch -d <branch>

刪除遠程分支

$ git push origin --delete <branch>

查看標籤

$ git tag

新建標籤

$ git tag <tag-name>

刪除標籤

$ git tag -d <tag-name>

UPDATE & PUBLISH

列出全部的倉庫地址

$ git remote -v

查看某個倉庫的信息

$ git remote show <remote>

添加倉庫地址

$ git remote add <shortname> <url>

從遠程更新代碼到本地但不合並

$ git fetch <remote>

從遠程更新代碼到本地且合併

$ git pull <remote> <branch>

發佈到遠程地址

$ git push <remote> <branch>

刪除遠程地址分支

$ git branch -dr <remote/branch>

上傳標籤

$ git push --tags

MERGE & REBASE

合併目標分支到本地分支

$ git merge <branch>

合併分支,可是不合並提交記錄(commit),rebase合併若是有衝突則一個一個文件的去合併解決衝突

$ git rebase <branch>

合併終止

$ git rebase --abort

繼續合併

$ git rebase --continue

使用配置的合併工具來解決衝突

$ git mergetool

添加已手動合併的文件

$ git add <resolved-file>

刪除已手動合併的文件

$ git rm <resolved-file>

UNDO

回退到最近一個提交

$ git reset --hard HEAD

回退到上一次提交(倒數第二次)

$ git reset --hard HEAD^

回退某次提交的某個文件

$ git checkout HEAD <file>

回退到某個提交,可是不刪除commit

$ git revert <commit>

完全回退到某個提交(commit和代碼都回退了)

$ git reset --hard <commit>

回退到某個提交(commit回退,代碼保留)

$ git reset <commit>

回退到某個提交,並保留以更改的文件

$ git reset --keep <commit>
相關文章
相關標籤/搜索