1. 程式人生 > >GIT-基本命令

GIT-基本命令

基礎操作命令

    git init   初始化倉庫
    git status 檢視狀態
    git add a.txt    將a.txt檔案的新增或修改加入到暫存區(index)
    git commit -m 'create a.txt' a.txt
    git add b.txt    將b.txt檔案的新增或修改加入到暫存區(index)
    git commit -m 'create b.txt' b.txt  
    git commit -m "a.txt a add1" a.txt     修改a.txt  新增:a add1 內容後提交到本地庫的當前分支
   

    git log (a.txt)    顯示(a.txt)從最近到最遠的提交日誌 (有顯示版本號)
    git log  --pretty=oneline (a.txt)   以漂亮的格式顯示(a.txt)提交的日誌 (有顯示版本號)
               

版本回退

未提交的撤銷

      撤銷工作區的修改(還未add到暫存區(index)的檔案) : git checkout -- test.txt
      撤銷已經add到暫存區(index)但未commit的檔案 :git  reset HEAD  test.txt 

已提交的回退

      git reset --hard HEAD^   (由下圖可知,通過git log檢視確實已經回退 撤回提交,但是對a.txt做的修改a add1消失了)

                 

               

                

               a.txt的新增的 啊add1內容丟失了

     雖然撤回了提交,但是由於a.txt修改的內容丟失了,所以可以用版本穿梭找回來 
          ①git reflog --pretty=oneline (從開始到現在的所有指標指向,包含回退的指標指向用來版本穿梭)

                 
          ② git reset --hard 1abpp79 

                  

 

      若想實現,撤回提交併且不丟失a.txt的資料可以用 git reset --soft ****  命令實現
      
git reset --soft a32bf69cec7ababd7edd83d3331eb41f98571df3

              

 


 

將專案和github賬戶相連

      1.註冊github賬戶

      2.檢查ssh祕鑰

      由於你的本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以我們需要配置驗證資訊(No such file or directory表示第一次)

            

      3.建立SSH Key: ssh-keygen -t rsa -C [email protected] 成功的話會在~/下生成.ssh資料夾,進去,開啟id_rsa.pub,複製裡面的key。

           

              

              家目錄下有了 .ssh資料夾

      4.貼上id_rsa.pub內容到Github

               

      5.測試連通性: ssh -T [email protected] 

                

 

將專案從本地推送到遠端庫

     情景描述:我在本地建立了一個OA專案後,我又想在GitHub建立一個OA專案,並且讓這兩個倉庫進行遠端同步
             1  先在本地新建好一個git專案OA
                    git init 
                    git add -A
                    git commit -m "create" a.txt
             2  到Github上新建一個同名的空專案
             3  本地和github上的倉庫進行關聯(以下命令是在當前專案的.git目錄下執行)
                    git remote add origin https://github.com/wxds/oa.git   (此網址在github上建立好目錄後自動生成的)
             4 把本地庫的內容推送到遠端gitpush命令,實際上是把當前分支master推送到遠端
                    當第一次推送時:git push -u origin master
                    當以後再推送時:git push  origin master/dev/test
                    將修改拽到本地:git pull origin master

 

將專案從遠端庫clone到本地

   根據url地址(github上建好專案後自動生成的地址) 使用者名稱和密碼 clone專案

      

    現在又git伺服器上又建立一個 fly 分支
        git fetch origin fly     和遠端的fly分支聯絡
        git checkout -b fly origin/fly   作用是checkout遠端的fly分支,在本地取名為fly,並切換到本地的fly分支
        git pull origin fly

   直接拉取遠端dev分支  
        git clone -b dev https://git.oschina.net/search/bigpay.git

   在本地dev分支的基礎上建立一個mytest分支然後將此分支推送到git上
        git branch mytest  :建立mytest分支
        git checkout mytest :切換到mytest分支
        git push origin mytest :將本地mytest分支推送到遠端

   分支 

        檢視分支:git branch 
        建立分支:git branch dev/dongdong /...
        切換分支:git checkout dev/dongdong/...
        建立+切換分支:git checkout -b name 
        合併某分支到當前分支:git merge dev 
        刪除分支:git branch -d name 
        刪除遠端dev分支:git push origin --delete dev