git是現(xiàn)在最流行的版本控制工具。與CVS、Subversion一類的集中式版本控制工具不同,它采用了分布式版本庫(kù)的作法,不需要服務(wù)器端軟件,就可以運(yùn)作版本控制,使得源代碼的發(fā)布和交流極其方便。git的速度很快,git最為出色的是它的合并追蹤(merge
tracing)能力。 創(chuàng)建庫(kù)- 克隆一個(gè)已存在的庫(kù)
bash
$ git clone https://github.com/user/repo.git [DirName]
或者
$ git clone git@github.com:user/repo.git [DirName]
其中,user為用戶名,repo為需要克隆的庫(kù)名,DirName為可選,默認(rèn)值為庫(kù)的名稱repo - 新建本地庫(kù)
bash
$ git init
本地修改- 查看本地工作目錄下的文件變化
bash
$ git status - 已跟蹤文件(tracked files)的變化
bash
$ git diff - 將本地所有修改加入到下次提交(commit)中:
bash
$ git add . - 把文件中的改變加入到下次commit中:
bash
$ git add -p <file> - 提交跟蹤文件在本地的修改:
bash
$ git commit -a - 提交在工作臺(tái)中的修改
bash
$ git commit - 修改最近一次的commit(不要修改已經(jīng)published的commit)
bash
$ git commit --amend
Commit歷史記錄- 從最新的一次開始,羅列所有提交
bash
$ git log - 查看某一文件的所有commit記錄
bash
$ git log -p <file> - 查看某一文件的修改記錄-Who,When,What
bash
$ git blame <file>
分支與標(biāo)簽(Branch & Tag)- 列出所以存在的分支
bash
$ git branch -av - 把HEAD移到分支上(轉(zhuǎn)到分支上)
bash
$ git checkout <branch> - 基于目前的HEAD創(chuàng)建新分支
bash
$ git branch <new-branch> - 創(chuàng)建全新的分支
bash
$ git checkout --orphan <branch> - 創(chuàng)建遠(yuǎn)程分支的跟蹤分支
bash
$ git checkout --track <remote/branch> - 刪除本地分支
bash
$ git branch -d <branch> - 給當(dāng)前的commit打標(biāo)簽
bash
$ git tag <tag-name>
更新與提交- 列出所有遠(yuǎn)程倉(cāng)庫(kù)
bash
$ git remote -v - 查看遠(yuǎn)程倉(cāng)庫(kù)的信息
bash
$ git remote show <remote> - 添加名為的新遠(yuǎn)程庫(kù)
bash
$ git remote add <shortname> <url> - 從遠(yuǎn)程庫(kù)下載所有修改,但不要加入到HEAD中
bash
$ git fetch <remote> - 下載修改并合并/加入到 HEAD中
bash
$ git pull <remote> <branch> - 把本地修改推送(push)到遠(yuǎn)程庫(kù)
bash
$ git push <remote> <branch> - 刪除遠(yuǎn)程庫(kù)上的分支
bash
$ git branch -dr <remote/branch> - push標(biāo)簽
bash
$ git push --tags - push某一具體標(biāo)簽
bash
$ git push <remote> <tag>
合并與編輯(merge & Rebase)撤銷Undo- 放棄在工作目錄中的所有本地修改
bash
$ git reset --hard HEAD - 放棄某一文件中的本地修改
bash
$ git checkout HEAD <file> - 回復(fù)(revert)某次commit
bash
$ git revert <commit> - 重置HEAD指向某次commit:并放棄之后的所有修改
- …并放棄之后的所有修改
bash
$ git reset --hard <commit> - …并把之后的修改保存到unstaged changes
bash
$ git reset <commit> - …并保留本地沒有commit的修改:
bash
$ git reset --keep <commit>
最基礎(chǔ)git init [<Project-Name>] #默認(rèn)當(dāng)前目錄,否則新建<Project-Name>這個(gè)目錄
git add . #把本地修改加入到暫存區(qū)
git commit -m "<commit-message>' #提交本次修改
git remote add origin <remote-repo> #添加遠(yuǎn)程庫(kù)
git push origin <local-branch>:<remote-branch> #push到遠(yuǎn)程 最后!神器:Help命令~
若您覺得我的文章對(duì)您有幫助,歡迎點(diǎn)擊上方按鈕對(duì)我打賞
|