Stage(暂存区)
将所在目录变成Git可以管理的仓库
git init
将新文件或修改过的文件添加到仓库(暂存区)
git add xxx.txt
git add -A (添加所有目录和文件到暂存区 -A表示all(大写A))
git add * (同上)
将暂存区中的内容一次性提交到仓库中(永久保存)
git commit -m '这是备注信息' (提交。-m表示备注mark)
(如果不用git add将修改提交到暂存区,那commit就不会将修改加入到仓库中)
查看文件状态(查看哪些文件被修改了,哪些文件需要commit提交)
git status
查看文件修改了哪些内容
git diff xxx.txt
git diff HEAD -- xxx.txt (查看工作区和版本库里面最新版本的区别)
查看提交日志
git log
git log --pretty=oneline (显示在一行,为了好看)
回退到指定版本
git reset --hard HEAD^ (HEAD表示当前版本,HEAD^上一个版本,HEAD^^上二个版本,HEAD~100表示往上100个版本)
git reset --hard 83b0afe…… (通过commit_id回退)
查看git历史命令(可以查看到版本回退之前的版本号)
git reflog
撤销工作区的修改/删除(回到最近一次git commit或git add时的状态)
git checkout -- xxx.txt (将暂存区中的文件内容还原到工作区中。--不能省,否则就是切换分支)
git checkout 分支名 (切换到另一个分支)
撤销暂存区的修改
git reset HEAD xxx.txt (reset表示回退版本,HEAD表示最新版本)
git checkout -- xxx.txt (可以再撤销工作区的修改)
撤销版本库(本地)的修改(回退到指定版本)
git reset --hard 83b0afe……
删除文件
rm xxx.txt (手动删除)
git rm xxx.txt
git commit -m "备注信息"
远程仓库
关联远程仓库
git remote add origin(远程主机别名) git@github.com:账户名/仓库名.git
将本地仓库推送到远程仓库
git push origin(远程主机别名) master
git push -u origin master (-u表示第一次推送)
克隆远程仓库到本地
git clone git@github.com:账户名/仓库名.git
分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
查看分支合并图:git log --graph --pretty=oneline --abbrev-commit