1. git init 在當前文件夾中建立本地庫(添加.git文件夾)git
2.git add命令,將文件添加到暫存區github
3.git commit -m "<message>"命令將暫存區的文件提交到本地庫的當前分支上,好比1.0緩存
4.多提交幾回,好比2.0、3.0、4.0;利用git log可查看全部版本及對應提交的消息(1.0、2.0、3.0、4.0); 可利用git log --pretty=(oneline等)命令查看指定信息服務器
5.可用git reset HEAD^命令可從當前版本,如4.0回退到3.0;git reset HEAD^^命令可從當前版本回退兩個版本,以此類推; 可用git reset HEAD~3向前回退3個版本號,即從4.0回退到1.0;app
可是:url
利用git rest HEAD類命令,版本回退後,工做區文件(即硬盤上看見的文件)仍是最新的,並非回退的版本內容。spa
此時可添加參數--hard使工做區文件也回退爲指定版本,git rest --hard HEAD類命令rest
6. 同時可用 git reset --hard 版本號 命令來回退到指定版本,可是若是以前已經回退過版本,那麼回退版本後的版本利用git log將看不見,如從4.0回退到2.0後,那麼利用git log查看版本,只能看見1.0、2.0的版本,rem
此時可利用git reflog命令來查看全部的本地版本庫操做信息get
7. 在github遠程庫中建立一個repository,能夠利用 git remote add origin <遠程庫地址>,將文件添加到遠端,可是還得用git push -u origin master命令來將文件提交到遠端。
其中–u參數是在首次push時使用,是指Git會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在之後的推送或者拉取時就能夠簡化命令
以後若是有改動,則直接能夠 git push origin master來提交到遠端。
8.能夠利用 git clone <遠端庫地址>來將遠端庫下載到本地。
origin是遠程庫的默認名稱
git init 將目錄變爲可管理的倉庫目錄
git submodule init 將子模塊目錄變爲可管理的倉庫目錄
git submodule update 將子模塊更新
9. 查看分支:git branch
建立分支:git branch <分支名稱>
切換分支:git checkout <分支名稱>
建立+切換分支:git checkout –b <分支名稱>
合併某分支到當前分支:git merge <分支名稱>
刪除本地分支:git branch –d <分支名稱>
強制刪除本地分支:git branch –D <分支名稱>
刪除本地遠程分支:git branch -r -D origin/<分支名稱>
刪除遠程服務器上分支:git push origin --delete <分支名稱>
10. git diff branch1 branch2 --stat //顯示出全部有差別的文件列表
git diff branch1 branch2 具體文件路徑 //顯示指定文件的詳細差別
git diff branch1 branch2 //顯示出全部有差別的文件的詳細差別
若是branch1不寫,則表示當前環境和branch2的差別
11. git checkout <branch> -- <file> 將文件還原爲指定分支的文件上
12. git 添加子模塊:
git submodule add <url:git://xxx.xxx.git> <path:/tmp/xxx>
git 刪除子模塊:
rm -rf 子模塊目錄 刪除子模塊目錄及源碼
vi .gitmodules 刪除項目目錄下.gitmodules文件中子模塊相關條目
vi .git/config 刪除配置項中子模塊相關條目
rm .git/module/<子模塊名稱> 刪除模塊下的子模塊目錄,每一個子模塊對應一個目錄
git rm --cached <子模塊名稱> 刪除本地緩存的子模塊
nn. git tag 顯示全部標籤
git tag -l 'aa.*' 顯示全部匹配的標籤(全部aa.開頭的標籤)
git show 查看標籤的版本信息
git tag -a XX -m 'my version XX' 建立帶有註釋的標籤(在庫中有本身的信息)
git tag XX 建立輕量級的標籤(僅僅是一個引用指向commit)
git tag XX <commit id> 在某個commit上建立輕量級標籤
git push origin XX 提交tag到遠端
git push origin --tags 提交全部tag到遠端
git tag -d XX 刪除本地tag
git push origin :refs/tags/XX 刪除遠端tag
git checkout -b <branch> <tag> 基於某一個tag建立一個branch
13. git mv src dest //更更名稱且不刪除log
Git基本經常使用命令以下:
git init 把當前的目錄變成能夠管理的git倉庫,生成隱藏.git文件。
git add XX 把xx文件添加到暫存區去。
git commit –m 「XX」 提交文件 –m 後面的是註釋。
git status 查看倉庫狀態
git diff XX 查看XX文件修改了那些內容
git log 查看歷史記錄
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一個版本(若是想回退到100個版本,使用git reset –hard HEAD~100 )
git reflog 查看歷史記錄的版本號id
git checkout -- XX 把XX文件在工做區的修改所有撤銷。
git rm XX 刪除XX文件
git remote add origin <遠程倉庫地址> 關聯一個遠程庫
git push –u(第一次要用-u 之後不須要) origin master 把當前master分支推送到遠程庫
git clone <遠程倉庫地址> 從遠程庫中克隆
git checkout –b dev 建立dev分支 並切換到dev分支上
git branch 查看當前全部的分支
git checkout master 切換回master分支
git merge dev 在當前的分支上合併dev分支
git branch –d dev 刪除dev分支
git branch <分支名稱> 建立分支
git stash 把當前的工做隱藏起來 等之後恢復現場後繼續工做
git stash list 查看全部被隱藏的文件列表
git stash apply 恢復被隱藏的文件,可是內容不刪除
git stash drop 刪除文件
git stash pop 恢復文件的同時 也刪除文件
git remote 查看遠程庫的信息
git remote –v 查看遠程庫的詳細信息
git push origin master Git會把master分支推送到遠程庫對應的遠程分支上
git pull origin master 把遠端master內容抓取到本地庫