git操做

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內容抓取到本地庫

相關文章
相關標籤/搜索