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 筆記 在現有項目目錄中創建git 版本控制
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.