git init
=>创建初始化仓库
git status
=>查看仓库状态
git add
=>添加到暂存区(例:git add *.txt 把txt文件添加到暂存区;git add . 把文件夹下所有文件添加到暂存区)
git commit
=>提交(git commit -m "备注") 不使用-m则会进如编辑界面自己编辑备注等信息,使用vim提交信息(使用方向键移动光标,"i"键进入编辑模式,输入提交信息后, ESC键回到命令模式,输入:wq保存并退出)
git log
=>查看提交记录 (git log --oneline 查看简洁的提交记录)
git reset
回退 =>
- git reset --soft(软回退:工作区和暂存区的修改内容都保存) 例:git reset --soft +提交id
- git reset --hard(硬回退:工作区和暂存区的修改都不保存)
- git reset --mixed(混合回退:只保留工作区的修改内容,不保存暂存区的修改内容)
注意:如果不小心误操作了git reset --hard命令,可以使用git reflog 来查看我们操作的历史记录,找到我操作之前的版本号,再使用git reset --hard +版本号 回退之前的操作
git diff
=>查看工作区和暂存区之间的差异
git diff HEAD 查看工作区和版本库之间的差异
git diff --cached 查看暂存区和版本库之间的差异
git diff +版本idA 版本idB 比较两个版本之间的差异内容
git ls-fles
=>查看暂存区中的内容
git rm
=>同时删除工作区和暂存区该文件
本地工作区删除一个文件(rm xxx.txt),使用git add xxx.txt 同步删除暂存区中的xxx.txt文件;
git rm xxx.txt 同时删除工作区和暂存区该文件 (记得删除文件后也要提交,不然该文件在版本库中还是存在的)
最后讲一下.gitignore文件 忽略掉一些不应该加入版本库中的文件
- 系统或者软件自动生成的文件
- 编译产生的中间文件和结果文件
- 运行时生成日志文件,缓存文件、临时文件
- 涉及身份、密码、口令、秘钥等敏感信息文件
可以在.gitignore文件中配置不想加入版本库的文件类型
如:*.log :所有以log结尾的文件(vi .gitignore 进入编辑模式) :wq保存并退出
build/ 忽略任何目录下名为build的文件夹
git rebase -i commitId
git commit --amend
git commit --continue
git追加提交:1.git rebase -i commitId 把目标修改的pick改成edit(先git log查看一下commitId,commitId取目标之前一个就行)
2.若要对文件或代码进行修改:修改完=》git status查看状态=》git add .=》git status确认无误=》git commit --amend追加提交(可对提交备注进行修改)
3.git status 查看有无冲突(有去对应文件去修改=》git add . =》git commit --amend追加提交)
4.git rebase --continue (出现succeeful表示成功)
git clean -fd
git checkout .
清空代码编译产生的缓存:git clean -fd f代表文件 d代表文件夹 清除未跟踪的文件
git checkout . 清除已跟踪的文件
git push
将代码推送到远端