git命令手冊(待完善)

ctrl+F 搜索

 

刪除文件

  • 1. rm -rf filename 或 rm filename:刪除工作區文件 2. git rm filename:從git中刪除文件 3. git commit -m '描述'
  • 如果刪錯了文件,且之前add過或者commit過,則可以使用 git checkout -- test.txt 恢復到最新版本(不過你會丟失最近一次提交後你修改的內容),但若沒有add或commit過,就不能恢復

 

 

版本回退

  • 把當前版本 回退到上一個版本 ,就可以使用 git reset --hard HEAD^ git reset --hard 1094a 直接指定版本號也可以 Git的版本回退速度非常快,因爲Git在內部有個指向當前版本的HEAD指針,當你回退版本的時候,Git僅僅是移動指針
  • 在Git中,用HEAD表示當前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一樣),上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100
  • git reflog:按時間顯示你的項目所經歷過的所有版本號(包括回退的操作)

 

撤銷修改

  • git checkout -- readme.txt:把readme.txt文件在工作區的修改/刪除全部撤銷,這裏有兩種情況:一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態; 一種是readme.txt已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。總之,就是讓這個文件回到最近一次git commit或git add時的狀態
  • 當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD <file>:把暫存區的修改撤銷掉(unstage),重新放回工作區(當我們用HEAD時,表示最新的版本)。第二步,用git checkout -- readme.txt撤銷掉工作區的修改。git reset命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用HEAD時,表示最新的版本。

 

遠程倉庫

  • 可以在用戶主目錄裏找到.ssh目錄,裏面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的祕鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人
  • 要關聯一個遠程庫,在本地新建倉庫,然後使用命令git remote add origin git@server-name:path/repo-name.git;關聯後,使用命令git push -u origin master第一次推送master分支的所有內容(注意此前要add、commit);此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改

 

分支

  • git branch dev:創建分支dev
  • git checkout dev 或 git switch dev:切換到dev分支
  • git checkout -b dev 或 git switch -c dev:創建並切換到dev分支
  • git branch:查看當前分支
  • git merge dev:將dev分支合併到當前分支
  • git branch -d dev:刪除dev分支
  • 因爲創建、合併和刪除分支非常快,所以Git鼓勵你使用分支完成某個任務,合併後再刪掉分支,這和直接在master分支上工作效果是一樣的,但過程更安全。

 

其他

  • git clone 倉庫地址:將git遠程倉庫的項目下載(克隆)到本地
  • git config --list:查看當前用戶信息(用戶名、郵箱等)
  • git push:將本地倉庫同步到遠程倉庫
  • git log:查看版本的歷史記錄。如果嫌輸出信息太多,看得眼花繚亂的,可以試試git log --pretty=oneline
  • 進入文件用vi 命令。保存退出先按esc,再shift+zz或:wq或:x。 :wq 強制性寫入文件並退出。即使文件沒有被修改也強制寫入,並更新文件的修改時間。 :x 寫入文件並退出。僅當文件被修改時才寫入,並更新文件修改時間,否則不會更新文件修改時間
  • git diff:顯示已被add到版本庫中的文件,在工作區和暫存區中的內容差異。新建一個文件,然後用git diff,沒有顯示是因爲還沒有add
  • git diff --cached:查看暫存區和倉庫的差異
  • git diff HEAD -- readme.txt:查看工作區和版本庫裏面最新版本的區別
  • pwd:顯示當前位置
  • git init:初始化倉庫
  • touch filename:創建文件
  • git status:查看文件在哪個區
  • git add:將文件從工作區提交到暫存區
  • git commit -m "提交描述":將文件從暫存區提交到本地git倉庫
  • makedir foldname:創建文件夾
  • ls:顯示當前文件夾有哪些文件

 

 

 

 

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