可以去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>
:将远程仓库内容拉取到本地仓库