设置用户签名
git config --global user.name <用户名>
git config --global user.email <邮箱>
在当前目录初始化一个仓库
git init
克隆远程仓库
git clone [url]
添加一个或多个文件到暂存区
git add [file] [file]...
添加指定目录到暂存区
git add [dir]
添加当前目录下的所有文件到暂存区
git add .
查看仓库状态,显示有变更的文件
git status
git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。
git diff 有两个主要的应用场景。
- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff --cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
显示暂存区和工作区的差异:
git diff [file]
显示暂存区和上一次提交(commit)的差异:
git diff --cached [file]
或
git diff --staged [file]
显示两次提交之间的差异:
git diff [first-branch]...[second-branch]
git commit命令将暂存区内容添加到本地仓库
将暂存区内的文件全部提交到仓库
git commit -m [message]
[message]可以是备注信息
提交暂存区的指定文件到仓库
git commit [file] [file]... -m [message]
直接提交到仓库
git commit -a
git reset用于回退版本,可以指定退回某一次提交的版本
语法格式
git reset [--soft | --mixed | --hard] [HEAD]
--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
git reset [HEAD]
git reset HEAD^ # 回退所有内容到上一个版本
git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
git reset 052e # 回退到指定版本
-soft 参数用于回退到某个版本:
git reset --soft HEAD
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
git reset --hard HEAD
将文件从暂存区和工作区中删除
git rm <file>
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
git rm -f <file>
如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可:
git rm --cached <file>
git mv 命令用于移动或重命名一个文件、目录或软连接。
git mv [file] [newfile]
如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数:
git mv -f [file] [newfile]
语法格式(常用)
git log [--oneline | --graph | --reverse | --author]
--oneline:查看历史记录的简洁的版本
--graph:查看历史中什么时候出现分支、合并
--reverse:逆向显示所有日志
--author:查看指定用户的提交日志
git log --authro=<user>
查看指定文件的修改记录
git blame <file>
显示所有远程仓库
git remote -v
显示某个远程库的信息
git remote show [remote]
添加远程版本库:
git remote add [shortname] [url]
shortname 为本地的版本库,例如:
# 提交到 Github
$ git remote add origin git@github.com:tianqixin/runoob-git-test.git
$ git push -u origin master
删除远程仓库
git remote rm <仓库链接 | 别名>
修改仓库名
git remote rename <old_name> <new_name>