把要提交的文件的信息添加到暂存区中。当使用 git commit 时,将依据暂存区中的内容来进行文件的提交。
# 把指定的文件添加到暂存区中 $ git add <文件路径> # 添加所有修改、已删除的文件到暂存区中 $ git add -u [<文件路径>] $ git add --update [<文件路径>] # 添加所有修改、已删除、新增的文件到暂存区中,省略 <文件路径> 即为当前目录 $ git add -A [<文件路径>] $ git add --all [<文件路径>] # 查看所有修改、已删除但没有提交的文件,进入一个子命令系统 $ git add -i [<文件路径>] $ git add --interactive [<文件路径>] git commit将暂存区中的文件提交到本地仓库中。
# 把暂存区中的文件提交到本地仓库,调用文本编辑器输入该次提交的描述信息 $ git commit # 把暂存区中的文件提交到本地仓库中并添加描述信息 $ git commit -m "<提交的描述信息>" # 把所有修改、已删除的文件提交到本地仓库中 # 不包括未被版本库跟踪的文件,等同于先调用了 "git add -u" $ git commit -a -m "<提交的描述信息>" # 修改上次提交的描述信息 $ git commit --amend git fetch从远程仓库获取最新的版本到本地的 tmp 分支上。
# 将远程仓库所有分支的最新版本全部取回到本地 $ git fetch <远程仓库的别名> # 将远程仓库指定分支的最新版本取回到本地 $ git fetch <远程主机名> <分支名> git merge合并分支。
# 把指定的分支合并到当前所在的分支下 $ git merge <分支名称> git diff比较版本之间的差异。
# 比较当前文件和暂存区中文件的差异,显示没有暂存起来的更改 $ git diff # 比较暂存区中的文件和上次提交时的差异 $ git diff --cached $ git diff --staged # 比较当前文件和上次提交时的差异 $ git diff HEAD # 查看从指定的版本之后改动的内容 $ git diff <commit ID> # 比较两个分支之间的差异 $ git diff <分支名称> <分支名称> # 查看两个分支分开后各自的改动内容 $ git diff <分支名称>...<分支名称> git pull从远程仓库获取最新版本并合并到本地。
首先会执行 git fetch,然后执行 git merge,把获取的分支的 HEAD 合并到当前分支。
把本地仓库的提交推送到远程仓库。
# 把本地仓库的分支推送到远程仓库的指定分支 $ git push <远程仓库的别名> <本地分支名>:<远程分支名> # 删除指定的远程仓库的分支 $ git push <远程仓库的别名> :<远程分支名> $ git push <远程仓库的别名> --delete <远程分支名> git log显示提交的记录。
# 打印所有的提交记录 $ git log # 打印从第一次提交到指定的提交的记录 $ git log <commit ID> # 打印指定数量的最新提交的记录 $ git log -<指定的数量> git reset还原提交记录。
# 重置暂存区,但文件不受影响 # 相当于将用 "git add" 命令更新到暂存区的内容撤出暂存区,可以指定文件 # 没有指定 commit ID 则默认为当前 HEAD $ git reset [<文件路径>] $ git reset --mixed [<文件路径>] # 将 HEAD 的指向改变,撤销到指定的提交记录,文件未修改 $ git reset <commit ID> $ git reset --mixed <commit ID> # 将 HEAD 的指向改变,撤销到指定的提交记录,文件未修改 # 相当于调用 "git reset --mixed" 命令后又做了一次 "git add" $ git reset --soft <commit ID> # 将 HEAD 的指向改变,撤销到指定的提交记录,文件也修改了 $ git reset --hard <commit ID> git revert生成一个新的提交来撤销某次提交,此次提交之前的所有提交都会被保留。
# 生成一个新的提交来撤销某次提交 $ git revert <commit ID> git tag操作标签的命令。
# 打印所有的标签 $ git tag # 添加轻量标签,指向提交对象的引用,可以指定之前的提交记录 $ git tag <标签名称> [<commit ID>] # 添加带有描述信息的附注标签,可以指定之前的提交记录 $ git tag -a <标签名称> -m <标签描述信息> [<commit ID>] # 切换到指定的标签 $ git checkout <标签名称> # 查看标签的信息 $ git show <标签名称> # 删除指定的标签 $ git tag -d <标签名称> # 将指定的标签提交到远程仓库 $ git push <远程仓库的别名> <标签名称> # 将本地所有的标签全部提交到远程仓库 $ git push <远程仓库的别名> –tags git mv重命名文件或者文件夹。
# 重命名指定的文件或者文件夹 $ git mv <源文件/文件夹> <目标文件/文件夹> git rm