Git 常用命令
Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 概念上来区分,其它大部分系统以文件变更列表的方式存储信息。 这类系统(CVS、Subversion、Perforce、Bazaar 等等)将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
Git 更像是一个小型的文件系统,提供了许多以此为基础构建的超强工具,而不只是一个简单的 VCS。
// 列出所有配置
git config --list
// 设置用户名称与邮件地址
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
// 记住账号密码
git config --global credential.helper store
// 当前版本库忽略文件权限的变动
git config core.filemode false
// 新建一个分支并同时切换到那个分支
git checkout -b branch_name
// 删除本地分支
git branch -d branch_name
// 删除远程分支
git push origin --delete branch_name
// 删除本地标签
git tag -d tagname
// 删除远程标签
git push origin :refs/tags/tagname
// 取消暂存
git reset HEAD 123.php
// 撤销工作目录中所有未提交文件的修改内容
git reset --hard HEAD
// 从暂存区域移除,但仍然希望保留在当前工作目录中
git rm --cached 123.php
// 查看提交历史
git log -p -2 // 选项 -p,用来显示每次提交的内容差异。 -2 显示最近两次提交
// 行日志搜索
git log -L :db_check_user_pw:bbscommon.fun.php
// 尝试重新提交
git commit --amend
// 恢复到运行合并前的状态
git merge --abort
// 查看哪些分支已经合并到当前分支
git branch --merged
// 查看尚未合并到当前分支的分支
git branch --no-merged
// 储藏修改
git stash
git stash save "文件上传"
// 查看储藏的东西
git stash list
// 将最近的储藏工作重新应用
git stash apply
// 清理工作目录(移除没有忽略的未跟踪文件)
git clean -n // 使用 -n 选项来运行命令,这意味着 “做一次演习然后告诉你将要移除什么”
// 查看尚未暂存的文件更新了哪些部分
git diff
// 查看已经暂存起来的变化
git diff --cached
// 查看系统支持哪些 Git Diff 插件
git difftool --tool-help
// 查看远程仓库 origin
git remote show origin
// 使用远程分支覆盖本地工作目录
git reset --hard origin/dev
// 示例操作
victor.zhu@VICTOR-ZHU MINGW64 /e/shejiben (master)
$ git fetch --tag
$ git merge victor-opt
$ git tag | tail -2
$ git tag -a shejiben-6.5.2.0-201805311128-victor -m "小程序落地页"
$ git push origin master --tag