1.如何用命令行創建一個新的 git 項目?
git init
分析:該命令是在本地創建一個master分支的git項目
2.如何將一個遠程倉庫拉到本地?
git clone [email protected]:PJJ1997/testgit.git
分析:PJJ1997是該倉庫創建者的用戶名,testgit是倉庫名
3.如何創建一個新的分支?如何切換到一個分支?
git branch dev
git checkout dev
分析:創建dev分支,切換到dev分支
4.git status 和 git log 命令分別有什麼作用?
git status -- 查看工作區、暫存區文件狀態
git log -- 查看提交記錄
分析:如果版本回退,使用git log是無法查看到之前的版本記錄的,如果要查看完整記錄,可以使用git reflog
5.git merge 和 rebase 的作用是什麼?有什麼區別?
作用都是合併分支,區別是 merge合併不會清除被合併的分支,rebase合併會自動清除被合併的分支
6.如何將本地的修改推向遠程倉庫?如何將遠程倉庫的修改更新到本地?
git push origin master
git pull
分析:origin是遠程倉庫,master是遠程倉庫分支,意思就是把本地倉庫的master分支推到遠程倉庫的master分支,同理,如果是git push origin dev就是把本地倉庫的dev分支推到遠程倉庫的dev分支,如果遠程倉庫中沒有dev分支,將會自動創建dev分支;git pull常用來解決衝突,手動解決衝突後,再提交
7.如何刪除一個本地分支?如何刪除一個遠程分支?
git branch -d dev | git branch -D dev
git push origin :dev
分析:-d爲刪除已合併的分支,-D爲刪除未合併的分支,刪除遠程分支使用:[分支]
8.git tag 的作用是什麼?
給分支打標籤,一般用於版本記錄
9.把分支中的工作區、暫存區暫時清空與恢復
git stash
git stash pop
10.查看本地倉庫中的各個分支情況
git log --graph --decorate --oneline --all
11.合併分支
git merge dev
分析:將當前分支與dev分支合併
12.回退到上一個版本
git reset --hard HEAD^
13.回退到指定版本
git reset --hard 1094a
分析:1094a是commit_id
14.回退到上n個版本
git reset --hard HEAD~n
15.將文件從暫存區撤銷到工作區
git reset HEAD readme.txt
16.將文件從工作區撤銷
git checkout -- readme.txt