最簡單的版本控制工具php
序號 | 模塊 | 功能 |
---|---|---|
1 | CREATE | 關於建立的 |
2 | LOCAL CHANGES | 關於本地改動方面的 |
3 | COMMIT HISTORY | 關於提交歷史的 |
4 | BRANCHES & TAGS | 關於分支和標籤類的 |
5 | UPDATE & PUBLISH | 關於更新和發佈的 |
6 | MERGE & REBASE | 關於分支合併類的 |
7 | UNDO | 關於撤銷類的 |
從遠程倉庫獲取代碼laravel
$ git clone ssh://user@domain.com/repo.git
初始化本地倉庫git
$ git init
查看倉庫的狀態,(顯示已改動的文件)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
查看提交日誌
$ git log
跟蹤查看某個文件的歷史修改記錄
$ git log -p <file>
查看文件是誰何時修改什麼地方
$ git blame <file>
查看全部分支(包括遠程分支)
$ 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>
列出全部的倉庫地址
$ 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
合併目標分支到本地分支
$ git merge <branch>
合併分支,可是不合並提交記錄(commit),rebase合併若是有衝突則一個一個文件的去合併解決衝突
$ git rebase <branch>
合併終止
$ git rebase --abort
繼續合併
$ git rebase --continue
使用配置的合併工具來解決衝突
$ git mergetool
添加已手動合併的文件
$ git add <resolved-file>
刪除已手動合併的文件
$ git rm <resolved-file>
回退到最近一個提交
$ 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>