美文网首页
git 命令指南

git 命令指南

作者: _若无 | 来源:发表于2022-05-05 14:36 被阅读0次

整理一下 git 命令,用时总会忘记。

Git常用命令

  • git 克隆远程分支仓库
    git 克隆远程仓库项目时如果不指定分支,只会克隆默认分支内容
git clone -b 分支名称  远程地址
  • 查看 git 用户名和邮箱
git config user.name
git config user.email
  • 设置 git 账号
git config --global user.ame "foo"
git config --global user.email "foo@email.com"
git config user.name "foo"
git config user.email "foo@mail@com"
  • 查看 git 账号
git config --global --list
git config --local --list
  • 仅查看某一项配置
git config --local user.name
  • 分支相关命令操作
git branch (查看当前分支)
git branch -a (查看所有分支)
git branch 分支名 (创建分支)
git branch -d  分支名(删除分支)
git branch D 分支名 (强制删除未合并的分支)
git checkout 分支名 (切换到对应分支)会自动将代码更新为分支代码
git checkout -b 分支名 (`基于分支名或commit值` 切换分支并直接切换过去)
  • 查看 git 历史命令
history
  • 按照关键词搜索 git 历史命令
history | grep push
  • 查看 commit 历史
git log
git log --summary  (--summary 查看已经提交的文件详细变化)
  • 对比2个分支的日志
git log dev..master
  • 回滚本次修改
git reset HEAD foo.js
git checkout -- foo.js
  • 查看本次修改的代码
git diff
git diff HEAD
git diff --staged
  • 提交后发现丢了几个文件未提交
// 重新添加
git add "*.html"
// 重新提交
git commit --amend
  • 缓存某种后缀的文件
git add "*.js"
  • 清除缓存区中的文件
git reset  文件路径
  • 彻底删除某种后缀的文件
git rm "*.html"
  • 合并分支
git merge 分支名
  • 取消合并
git merge --abort
  • add . 之取消提交某些文件
git checkout -- <文件路径>
  • 隐藏当前修改代码 保存至堆栈中
git stash
git stash save "命名"
  • 释放堆栈中的代码
// 将当前stash中的内容弹出,并应用到当前分支对应的工作目录上 `注:该命令将堆栈中最近保存的内容删除(栈是先进后出)`
git stash pop 
// 释放指定代码
git stash pop stash@{0}
  • 查看堆栈(stash)目录
git stash list
  • 删除某个 stash
//  `stash@{0} 为栈中名称`
git stash drop stash@{0}
  • 清除 stash 所有内容
git stash clear
  • 误删除stash
git fsck --unreachable |
grep commit | cut -d\  -f3 |
xargs git log --merges --no-walk --grep=WIP
// 找到对应的 commit hash值
git stash apply hash值
  • 删除远程分支(次分支必须是非默认分支)
git push origin --delete branchname
  • 已经commit,强制退回到旧版本
git log // 找到对应 commit hash 值
git reset --hard hash值
  • 回退一次commit
git revert Head/[commit hash]
  • 设置远程仓库地址
git remote set-url origin git@foo.bar.com:a/hello.git
  • 本地创建了新分支,但是 origin 没有,push代码前
git push --set-upstream origin preproduction
  • 指定 tag 到远程
git push origin <tag_name>
  • 将全部 tag 推送到远程
git push --tags
  • 查看当前 tags
git tag --list
  • 仅删除index 不删除 working tree的.idea文件
// --cached 仅删除index, -r(recursive) 递归删除.idea目录下的所有文件
git rm --cached -r .idea
  • git 主动 track 文件,控制文件,做好提交准备
git add <file(s)>/.
  • git unstage 文件,释放文件 选择性控制
git reset HEAD <file(s)>/.
  • 暂存区文件如何覆盖工作目录文件
git reset HEAD <file(s)>/. && git checkout -- <files>/.
  • 提交已经被 git 管理,修改过为红色的所有文件
git add -u
  • 重置工作区和暂存区的所有文件为原始状态
git reset --hard
  • 比较当前分支与某次提交的区别
git diff HEAD [commit has fragment]
  • 同步到 remote 后,合并多个 commit 为1个
git rebase -i HEAD~2/hash
pick && squash
:wq!
  • 查看项目的 origin 代表地址
git remote -v
  • pick 中途误退出
git rebase --abort
  • 未同步到 remote,重新提交
reset soft
  • 撤销远程分支错误提交
...reset
git push --force
  • 误删除领先远程的本地如何恢复
git reflog  // 找出最新的commit sha1值HEAD@{1}比HEAD@{2}新
git branch branchName <sha1>
  • git fetch 与 git pull的区别
git fetch 更新 origin/*下所有的分支,在发布git flow feature 前很有用,用于更新remote分支
git pull 主要用来更新多人合作的当前分支,多用于更新local分支
  • 远程删除分支,本地git fetch 不能更新到最新分支
git fetch --prune
`-prune:  Before fetching, remove any remote-tracking references that no longer exist on the remote.`
  • 及时查看本地所有分支状态
git remote show origin

-假如远程已经不存在分支,git fetch --prune也更新不到状态,该如何做?

git push origin --delete feature/fix-chat-unread-msg-async
  • 删除单个脱离的远程分支
git remote prune <name>
  • 添加.gitignore后的文件名,.gitignore不生效
git rm -r --cached 文件名
  • git 工作区和暂存区的区别
          add                   commit
工作目录 ------------> 暂存区  ------------> 版本历史
暂存区:git已经获得了对文件的管理权限,暂存区文件有状态:new file,deleted,modified等等。
版本历史:git log查看每一次commit记录。

相关文章

  • 161013 Git 折腾记录

    git 简明指南: git - the simple guide - no deep shit! git 命令安装...

  • Git-源代码管理工具

    Git入门指南十一:Git branch 分支与合并分支 Git命令大全 目录 一. 掌握 - git 概述二. ...

  • git branch 分支与合并

    在使用 git 进行分支开发与合并的时候需要用到这些命令。其他基本 git 命令参考 Git 简易食用指南 git...

  • Git [提交记录查看、提交、变基](I)

    Git 简易指南Git 参考手册Pro Git(中文版)Git教程 廖雪峰 查看提交记录 终端命令git log:...

  • git入门

    参考博文git权威指南地址Windows安装gitgit官网git官方命令 git 安装 http://msysg...

  • git 命令指南

    整理一下 git 命令,用时总会忘记。 Git常用命令 git 克隆远程分支仓库git 克隆远程仓库项目时如果不指...

  • 关于git 提交的问题

    #git 命令指南 ##提交代码步骤 1. git stash - 先缓存本地已更新的代码(如本地已经是最新代码,...

  • Git基本命令和GitFlow工作流

    主要了解git的一些基本的团队协作命令,和GitFlow工作流指南 git 团队协作的一些命令 1.开分支 2.切...

  • Git命令开车指南

    git config配置本地仓库 常用git config --global user.name、git conf...

  • 小白 Git 生存指南

    git 命令较多,使用不得法,伤人伤己,保证活下来!git生存指南.png 一、最基本概念: 五个存储区: 标准的...

网友评论

      本文标题:git 命令指南

      本文链接:https://www.haomeiwen.com/subject/lsunyrtx.html