很早之前就用過 Git,SVN。這樣來回切換,一些命令總是忘或者弄混淆了,這裏主要備忘一下。
1,通用配置
git config --global user.name “lulei”
git config --global user.email [email protected]
2,下載遠程倉庫
2.1,直接下載
打開對應目錄,直接clone
cd /Users/lulei/Work/GitWork
git clone https://github.com/miLLlulei/AnnotationProcessor.git
說明:會自動創建AnnotationProcessor目錄的。
2.2,先 init,再關聯遠程倉庫
打開對應目錄,先 init,再關聯遠程倉庫
cd /Users/lulei/Work/GitWork/AnnotationProcessor
git init
git remote add origin https://github.com/miLLlulei/AnnotationProcessor.git
git pull origin master
說明:origin:本地倉庫名
master:遠程分支名
3,分支
3.1,查看當前分支
git branch 或者 git branch -vv
如圖,前面帶 * 的是當前分支;
3.2,切換分支
git checkout master
3.3,創建分支
git branch testing
3.4,刪除分支
git branch -d testing
4,提交
4.1,查看變更文件
git status
4.2,添加文件
git add <文件名>
git add .
. 代表所有目錄|文件
4.3,提交文件
git commit -m “提交信息”
5,合併
5.1,拉取
git pull <遠程在本地庫名> <遠程分支名>:<本地分支名>
例子:把遠程分支 master 拉取合併到 本地分支 dev_lulei
git pull origin master:dev_lulei
如果本地分支和遠程分支關聯了,可以直接 git pull
如何關聯本地分支和遠程分支:
確定當前本地分支是 dev_lulei,
git push --set-upstream origin dev_lulei
說明:origin:遠程在本地的倉庫名
dev_lulei:遠程分支名
5.2,查看遠程倉庫在本地的名稱,一般都是 origin
git remote
5.3,推送
git push <遠程在本地庫名> <本地分支名>:<遠程分支名>
5.3,衝突
pull 之後可能會文件衝突,這時候可以用:
git mergetool
5.4,查看提交歷史
git log --pretty=format:"%h - %an, %ar : %s"
按 q,退出查看
5.5,合併
git merge master
當前分支是 dev_lulei, 把 master 分支合併到 dev_lulei。
5.6,刪除緩存
git rm --cached <文件名>
有時候先使用 git add . 把所有代碼添加到緩存了,但是有個別文件不想提交,可以再刪除掉緩存。
5.7,刪除緩存
git rm --cached <文件名>
有時候先使用 git add . 把所有代碼添加到緩存了,但是有個別文件不想提交,可以再刪除掉緩存。
5.8,已經commit了,回滾
git reset --hard <提交記錄ID>
–hard:會把文件修改的內容全部還原
提交記錄ID:可以用 git log 查看。
5.9,沒有add和commit,還原
還原某個文件到某個版本:
git checkout <提交記錄ID> <文件名>
還原某個文件到上個版本:
git checkout – <文件名>
還原所有文件到上個版本:
git checkout .