git add
把要提交的文件的信息添加到暂存区中。当使用 git commit 时,将依据暂存区中的内容来进行文件的提交。
# 把指定的文件添加到暂存区中 $ git add <文件路径> # 添加所有修改、已删除的文件到暂存区中 $ git add -u [<文件路径>] $ git add --update [<文件路径>] # 添加所有修改、已删除、新增的文件到暂存区中,省略 <文件路径> 即为当前目录 $ git add -A [<文件路径>] $ git add --all [<文件路径>]
git branch
操作 Git 的分支命令。
# 列出本地的所有分支,当前所在分支以 "*" 标出 $ git branch # 列出本地的所有分支并显示最后一次提交,当前所在分支以 "*" 标出 $ git branch -v # 创建新分支,新的分支基于上一次提交建立 $ git branch <分支名> # 修改分支名称 # 如果不指定原分支名称则为当前所在分支 $ git branch -m [<原分支名称>] <新的分支名称> # 删除指定的本地分支 $ git branch -d <分支名称>
git checkout
更新工作树中的文件以匹配索引或指定树中的版本。
# 切换到已存在的指定分支 $ git checkout <分支名称> # 创建并切换到指定的分支,保留所有的提交记录 # 等同于 "git branch" 和 "git checkout" 两个命令合并 $ git checkout -b <分支名称> # 创建并切换到指定的分支,删除所有的提交记录 $ git checkout --orphan <分支名称> # 替换掉本地的改动,新增的文件和已经添加到暂存区的内容不受影响 $ git checkout <文件路径>
git checkout
是 git 最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区。
git commit
将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中。
# 把暂存区中的文件提交到本地仓库,调用文本编辑器输入该次提交的描述信息 $ git commit # 把暂存区中的文件提交到本地仓库中并添加描述信息 $ git commit -m "<提交的描述信息>"
git fetch
从远程仓库获取最新的版本到本地的 tmp 分支上。
# 将远程仓库所有分支的最新版本全部取回到本地 $ git fetch <远程仓库的别名> # 将远程仓库指定分支的最新版本取回到本地 $ git fetch <远程主机名> <分支名>
git merge
用于将两个或两个以上的开发历史加入(合并)一起。
# 把指定的分支合并到当前所在的分支下,并自动进行新的提交 $ git merge <分支名称> # 把指定的分支合并到当前所在的分支下,不进行新的提交 $ git merge --no-commit <分支名称>
git remote
操作远程库。
# 列出已经存在的远程仓库 $ git remote # 列出远程仓库的详细信息,在别名后面列出URL地址 $ git remote -v $ git remote --verbose # 添加远程仓库 $ git remote add <远程仓库的别名> <远程仓库的URL地址> # 修改远程仓库的别名 $ git remote rename <原远程仓库的别名> <新的别名> # 删除指定名称的远程仓库 $ git remote remove <远程仓库的别名>
git push
把本地仓库的提交推送到远程仓库。
# 把本地仓库的分支推送到远程仓库的指定分支 $ git push <远程仓库的别名> <本地分支名>:<远程分支名> # 删除指定的远程仓库的分支 $ git push <远程仓库的别名> :<远程分支名> $ git push <远程仓库的别名> --delete <远程分支名>
git pull
从远程仓库获取最新版本并合并到本地。 首先会执行 git fetch
,然后执行 git merge
,把获取的分支的 HEAD 合并到当前分支。
# 从远程仓库获取最新版本。 $ git pull