git 筆記 在現有項目目錄中創建git 版本控制

1,先cd到項目目錄下,如:cd /f/majiong   ,這樣就進入了F盤下的 
   majiong 這個目錄了

2,在這個目錄下初始化倉庫(創建倉庫) 如:git  init

3,把目錄下所有文件以及子目錄下所以文件添加到倉庫中,如; git add . 
  注意. 號後面有個空格,然後提交所以的文件 git commit -m "新的開始"

4,查看當前倉庫狀態,如:git status 

5,修改多個文件之後,git status 查看倉庫狀態已經改變,

6,比較修改前後差異,
如;git diff app/src/main/java/com/main/mahjong/a.java 
若改變的地方很多,按任意鍵可看後面的修改地方,按下q 鍵可退出

7,修改了多個文件,不想每次都git add a,java b,java 
  可以直接 git commit -am "修改了新的內容"
  可再次查看狀態,如; git status

8,查看歷史add,commit記錄,如:git log 
  其中 commit cb926e7ea50ad11b8f9e909c05226233bf755030 
  commit 後面的是十六進制的commit id 也就是版本號,
  可以用來恢復到某個版本號

9,回退恢復到上一個版本,如 git reset --hard HEAD^
   恢復到上上個版本,如 git reset --hard HEAD^^ 以此類推
   恢復到某個版本號下 如 git reset --hard  cb926e7  
   版本號沒必要寫全,前幾位就可以了,Git會自動去找。
   當然也不能只寫前一兩位,因爲Git可能會找到多個版本號,就無法確定是哪一個了。

 10,查看每次的操作命令記錄,如 git reflog 

 11,撤銷沒有添加到暫存區或提交後的修改,
    如 git checkout -- app/src/main/java/com/main/mahjong/a.java 
    其實就是檢出之前提交的文件到工作副本中。
    注意,add ,commit 之後的是不能用這個命令撤銷的,只能reset ,有點用處不大

 12, 刪除文件 git rm app/src/main/java/com/main/mahjong/GameRoomActivity.java
          確實要刪除,則git commit -m "刪除文件GameRoomActivity.java "  這個時候會真正從版本庫種刪除
          誤刪或不想刪除了。則 git checkout -- app/src/main/java/com/main/mahjong/GameRoomActivity.java 

 13,創建遠程倉庫需要的ssh key $ ssh-keygen -t rsa -C "[email protected]"

 14,把本地文件關聯到遠程倉庫,注意是自己的倉庫也可以是別人的
     git remote add origin [email protected]:yijiliangfang/android-mahjong.git
     其中yijiliangfang/android-mahjong.git 是自己在遠程倉庫的帳戶名和遠程倉庫的倉庫名,
     其中origin  只是給遠程倉庫起的一個本地的名字,可以隨便定義自己希望的名字。

 15,刪除遠程倉庫名 git remote rm origin  

 16,把本地生成的ssh 公鑰複製添加到github 帳戶中,此處可以自己百度,就不截圖說明了,在github 個人帳戶的設置裏面就能看到。

 17,更新遠程文件到本地倉庫:git pull origin master   
    如被拒絕合併可加參數 git pull origin master --allow-unrelated-histories
    提交本地文件到遠程倉庫,git push -u origin master(只能push 自己的倉庫,如果要push 別人的倉庫需要申請,通過後纔可以)
    需要注意的就是push 推送之前先pull 拉一下服務器的數據,做一下同步,
    有可能在新建一個新的github庫的時候選擇了自動創建readme文件。這個時候push 的時候可能發生錯誤。
    另外:
    git pull origin dev 命令會執行 git fetch origin dev  和 git merge 2個命令,
    git fetch origin dev 命令會從遠程庫更新文件到本地的dev分支庫,若本地沒有dev 這個分支會被新建。

 18,建立一個名叫:dev的分支, 如,git branch 'dev'
    讓HEAD 指向新建的dev, 如,git checkout 'dev'
    用一行命令完成上面2步:git checkout -b 'dev'

 19,查看分支列表,如,git branch ,如果是 git branch -a 會查看到本地和remote中遠程的全部的分支

 20,切換回到原來的master 主分支。如,git checkout  'master'


 21,把在dev 分支中修改,增加的文件合併到master分支上,如,git merge dev
    之所以是dev合併到master 是因爲通過上一步的切換,現在HEAD指向了master 分支,
    當前分支是master,所以是命令 git merge dev 是把dev合併到了master上。

 22,刪除之前的dev分支(若需要) 如,git branch -d dev

 23,把dev 分支檢出文件到某個文件夾下,git checkout dev /f/python/test  
     這樣就會把dev 分支檢出到f盤下的python/test 這個文件夾下。

 24.1,克隆(下載)別人的倉庫到本地倉庫,git clone [email protected]:willy2358/lxqenjoy
      相當於新建了本地git倉庫和分支master,
      當然用 git remote add origin [email protected]:willy2358/lxqenjoy ,然後 git fecth origin master也可以

 24.2,把遠程倉庫dev 分支檢出文件到某個文件夾下,$ git checkout origin/dev /f/python-test/TestSocket/lxqenjoy/ 
       這樣就會把dev 分支檢出到f盤下的python-test/TestSocket/lxqenjoy/ 這個文件夾下。
       注意:lxqenjoy 這個文件夾必須處於git的版本控制下,否則失敗

GIT 並不能把分支A中a/aa/a1 文件夾中的所有文件或某個文件更新(檢出)到工作副本中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章