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:顯示當前文件夾有哪些文件