1.如何用命令行创建一个新的 git 项目?
git init
分析:该命令是在本地创建一个master分支的git项目
2.如何将一个远程仓库拉到本地?
git clone git@github.com: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