常用git命令整理

來源:互聯網
上載者:User

標籤:http   使用   檔案   資料   for   io   

花了一點時間來熟悉和整理git常用命令。

推薦的git學習資料:
1、搜“Git Community Book 中文版.pdf”,git社區書,內容全面且簡明扼要,第一推薦
2、搜“Git權威指南.pdf”,國內一高人寫的,非常細緻深入,各種解釋說明。不過,也太厚了點,可以作為文檔查詢
3、ProGit,在這裡讀“http://git-scm.com/book/zh”,寫得非常好,可選前面幾章作為初學。但內容不足夠
我先掃了3的某幾章,然後看1,基本足夠。偶爾查詢一下2.

感覺圖形化的版本變遷圖非常重要,所以推薦留意一下。

以下是整理的內容:

操作步驟和命令整理

     安裝
          yum install git-core  //redhat或其他使用yum的系統
          apt-get install git-core  //ubuntu或其他使用apt-get的系統

     配置
          git config --global //配置 user name and email

     本地命令
          git init //初始化目前的目錄
          git add //追蹤檔案,或添加檔案到暫存區。注意add是一個多用途命令,根據狀態不同而有不同含義

     提交
          git commit //提交暫存區檔案到倉庫
          git commit -a //提交工作區已經修改的檔案和暫存區的檔案到倉庫
          git commit --amend  //修改最後一次提交,或說疊加到上一次提交

     網路命令
          git clone //擷取倉庫,並歸入本地origin名下

     查看狀態
          git status
     查看提交曆史
          git log

     檔案比較
          git diff //工作檔案比對暫存檔案
          git diff --cached //暫存檔案和已經提交檔案
          git diff --staged //暫存檔案和已經提交檔案

     移除檔案
          git rm
          git rm --cached readme.txt //從暫存區及倉庫移除,以後不再跟蹤這個檔案

     移動或改名
          git mv

     取消暫存
          git reset HEAD filename

     重設
          git reset --hard HEAD  //重設工作目錄(不包括未跟蹤的檔案)
               ---------要恢複單個檔案,可以checkout那個檔案:git checkout -- filename

     回退
          git revert HEAD  //回退到上一次提交
          git revert HEAD^  //回退到上上一次提交,可以增加“^”來回到更前一次提交
          ---------注意revert回退工作目錄後,可以立即做一個最新的commit,相當於拷貝一箇舊版本到最新的位置

     合并
          git merge hotfix  //合并hotfix分支到當前分支。注意,只是合并,合并之後的結果並未提交commit
          git merge upstream/master  //合并一個遠程取回的分支

     查看區別
          git diff hotfix  //查看當前分支與hotfix分支的差異
          git diff  //比較工作目錄和臨時目錄(索引或暫存)
          git diff --cached  //比較臨時目錄(索引或暫存)和上次提交


     儲藏
          git stash "why stash or other"  //暫存一個狀態
          git stash apply  //恢複
          git stash list  //顯示以前各次stash資訊
          git stach [email protected]{number?}  //恢複某次stash
          git stash clear  //清除隊列

     搜尋
          git grep 字串  //搜尋一個字串


     查看分支
          git branch  //查看本地分支
          git branch -r  //查看遠程分支

     建立和跳入分支
          git branch mybranch  //建立一個分支,但並不設定為當前分支
          git checkout mybranch  //抽取某個分支為當前分支
               -----上面兩步合一: get checkout -b mybranch

     刪除分支
          git branch -d 分支名

     查看有哪些遠程倉庫
          git remote
          git remote show     
          git remote show 倉庫名  //查看某個遠程倉庫細節

     添加遠程倉庫到本地列表
          git remote add [在本地的簡稱] [遠方url]   //給遠程倉庫增加一個本地簡稱
          git remote rename 舊名 新名 //修改遠程倉庫在本地的簡稱
          git remote rm  分支名  //刪除遠程倉庫在本地的串連

     抓取遠程倉庫中更新的資料
          git fetch 遠程倉庫名
               ------- fetch之後得到的分支命名為 “倉庫名/分支名”,但並沒有跳入這個分支,要另外checkout來跳入該分支

     抓取遠程倉庫內容到本地並且合并
          git pull

     抓取遠程倉庫的分支
          git checkout -b 本地分支名 遠程倉庫名/遠程分支名
               ------注意,“-b”表示在checkout之前branch,也即先將遠程分支擷取到本地,再checkout跳入

     推到遠程倉庫
          git push 遠程倉庫名 本地分支名:遠程分支名
               ----------如果分支同名,可以唯寫一個
               ----------如果不是“fast forward”則會失敗,因為遠程倉庫可能有比本地更新的內容
               ----------可以在分支名前面增加“+”來強制推送,但這樣會衝掉遠程倉庫中的新內容

     刪除遠程分支
          git push origin :serverfix  //冒號前面是空白,相當於推了一個空白到遠程分支

     顯示標籤
          git tag
          git tag -l ‘v1.4.2.*‘
          git tag -a v1.4 -m ‘my version 1.4‘  //添加附註型標籤

     啟動圖形介面
          git gui     //一個圖形操作介面,提供基本的操作
          gitk     //倉庫瀏覽器。感覺很好很重要

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.