可以去B站看看GeekHour的干货教程,讲得很不错
常用命令
基础
-
git init:将该目录初始化为仓库(会生成隐藏的git文件,随便更改会破坏所以隐藏,可以通过ls -a查看),可以在后面再加上子目录名,这样就会把子目录创建并设置为仓库 -
git clone <ssh/https>:克隆仓库 -
cd ..加rm -rf .git(删除git文件,让仓库变回普通目录) -
git status:查看当前仓库状态。位于哪个分支?有哪些文件以及文件状态。 -
git add:将代码从工作区放入暂存区(每次更改完代码都可以先add(类似于给货车装箱,等一批货物装完了再提交到仓库),而不是直接提交到本地仓库)
也可以使用通配符,比如:git add *.txt就会把所有的txt后缀文件加入到暂存区;也可以用git add .将当前文件夹下面所有的文件都添加到暂存区 -
git rm --cached <file>:把add的文件从暂存区拿出来 -
git commit -m "提交信息":将代码从暂存区提交到本地仓库。小技巧:commit后面加上-a的话会直接add并提交 -
git log:查看提交记录 -
git reflog:查看所有操作历史,便于回溯 -
git ls-files:查看暂存区文件 -
git reset:用于回退到之前的某一个提交版本,后面可以添加三个不同参数来实现三种模式--soft:软的,回退并保留工作区和暂存区所有修改内容--hard:硬的,回退并丢弃工作区和暂存区所有修改内容--mixed:混合的,回退但是只保留工作区的修改内容,暂存区的丢弃。这个是默认参数- 最后还要加上要回退的版本的id,或者
HEAD^表示上一个版本
-
git diff:后面如果不加其他参数,默认比较的是工作区和暂存区之间的差异内容(显示发生更改的文件和改动的详细信息);git diff HEAD:比较工作区和版本库之间的差异git diff --cached或--staged:比较暂存区和版本库之间的差异git diff <commit_hash1> <commit_hash2>:比较任意两个版本之间的差异git diff <branch1> <branch2>:比较两个分支差异git diff HEAD^ HEAD file.txt:只查看file的差异
-
git rm <file>:把工作区和暂存区中的该文件都删除(其实等同于先删除工作区的文件,然后git add一下),然后再提交,版本库中就更新了
git rm --cached <file>:只删除暂存区中的文件,保留工作区 -
git push <remote>:将本地仓库内容推送到远程仓库 -
git pull <remote> <branch>:将远程仓库内容拉取到本地仓库
