记录自己工作中常用的 Git 命令。随着使用 Git 时日渐长,不断更新,不断完善。方便自己在工作中随时复查,也算记录成长。
- 查询 Git 版本
$ git --version
- 配置用户信息
$ git config --global user.name "123" $ git config --global user.email "123@126.com"
- 查看配置信息
$ git config --list
- 创建仓库
# 使用当前目录当作仓库 $ git init # 使用指定目录当作仓库 $ git init newrepo
- 拷贝远程仓库
$ git clone [url] # 自定义本地项目名称 $ git clone [url] [name]
- 添加文件到暂存区
# 当前目录下所有文件 $ git add . # 添加一个或多个文件 $ git add [file1][file2]... # 添加指定目录,包含子目录 $ git add [dir]
- 查看仓库文件变更状态
$ git status # 输出简短结果 $ git status -s
- 比较文件的不同
# 尚未缓存的改动 $ git diff [file] # 查看已缓存的改动 $ git diff --cached # 查看已缓存的与未缓存的所有改动 $ git diff HEAD # 显示摘要而非整个 diff $ git diff --stat # 显示两次提交的差异 $ git diff [first-branch]...[second-branch]
- 提交到本地仓库
# 将缓存区文件提交到本地仓库 $ git commit -m [message] # 提交指定文件 $ git commit [file1] [file2] ... -m [message]
- 操作远程仓库
# 显示所有远程仓库 $ git remote -v # 显示某个远程仓库 $ git remote show [remote] # 添加远程仓库 $ git remote add [shortname] [url]
- 拉取远程仓库并合并
# 从远程获取代码并合并本地的版本 $ git pull <远程主机名> <远程分支名>:<本地分支名> $ git pull origin # 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并 $ git pull origin master:brantest # 如果远程分支是与当前分支合并,则冒号后面的部分可以省略, # 表示取回 origin/master 分支,再与本地的 brantest 分支合并。 $ git pull origin master
- 推送远程仓库并合并
$ git push <远程主机名> <本地分支名>:<远程分支名> # 如本地分支名与远程分支名相同,可省略冒号后面部分 $ git push <远程主机名> <本地分支名> # 强制推送 --force 参数 $ git push --force origin master
- 暂存/还原本地修改
描述:当本地有修改未提交时进行pull,可能会出现错误:Please commit your changes or stash them before you merge.;此时,如不想提交又不想放弃,可进行暂存处理。# 先暂存本地修改,如配置文件之类不想提交的内容或未完成的内容 $ git stash # 拉取最新代码,一般进行暂存都是因为拉取和本地冲突 $ git pull # 还原暂存的内容(最后一版) $ git stash pop # 查看暂存栈内的列表 $ git stash list