GIT命令大全

Git命令大全

Git最小配置
  • 某账号下所有的Git仓库都有效

    git config --global user.name '您的名称'git config --global user.email '您的Email'
    
  • 只对当前Git仓库有效

    git config --local user.name '您的名称'git config --local user.email '您的Email'
    
查看Git的配置
  • 查看global类型配置项

    git config --global --list
    
  • 查看只作用于当前仓库的配置项

    git config --local --list
    
清除Git的配置
  • 清除global类型的配置项

    git config --unset --global 某个配置项
    
  • 清除某个仓库的配置项

    git config --unset --local
    
本地基本操作
  • 查看变更情况

    git status
    
  • 查看当前工作在哪个分支上

    git branch -v
    
  • 切换到指定分支

    git checkout 指定分支
    
  • 把当前目录及其子目录下所有变更都加入到暂存区

    git add .
    
  • 把仓库内所有变更都加入到暂存区

    git add -A
    
  • 把指定文件添加到暂存区

    git add 文件1 文件2 文件3
    
  • 创建正式的commit

    git commit
    
  • 比较某文件工作区和暂存区的差异

    git diff 某文件
    
  • 比较某文件暂存区和HEAD的差异

    git diff --cached 某文件
    
  • 比较某文件工作区和HEAD的差异

    git diff HEAD 某文件
    
  • 比较工作区和暂存区的所有差异

    git diff
    
  • 比较暂存区和HEAD的所有差异

    git diff --cached
    
  • 把工作区指定文件恢复成和暂存区一样

    git checkout 文件1 文件2 文件3
    
  • 把暂存区指定文件恢复成和HEAD一样

    git reset 文件1 文件2 文件3
    
  • 把暂存区和工作区所有文件恢复成和HEAD一样

    git reset --hard
    
  • 用difftool比较任意两个commit的差异

    git difftool 提交A 提交B
    
  • 查看哪些文件没被Git管控

    git ls-files --others
    
加塞临时任务的处理
  • 把未处理的变更先保存到stash中

    git stash
    
  • 临时任务处理完后继续之前未完的工作

    git stash pop或者git stash apply# pop 不保留stash,apply 保留stash
    
  • 查看所有stash

    git stash list
    
  • 取回某次stash的变更

    git stash pop stash@{数字n}
    
修改个人分支的历史
  • 修改最后一次commit

    1) 在工作区修改文件2) git add .3) git commit --amend
    
  • 修改中间的commit(代号X)

    1) git rebase -i X前面一个commit的id2) 在工作区修改文件3) git add .4) git rebase --continue后续可能需要处理冲突,直到rebase结束
    
查看变更历史
  • 当前分支各个commit用一行显示

    git log --oneline
    
  • 显示就近的n个commit

    git log -n
    
  • 用图示显示所有分支的历史

    git log --oneline --graph --all
    
  • 查看涉及到某文件变更的所有commit

    git log 某文件
    
  • 某文件各行最后修改对应的commit以及作者

    git blame 某文件
    
分支与标签
  • 基于当前分支创建新分支

    git branch 新分支
    
  • 基于指定分支创建新分支

    git branch 新分支 已有分支
    
  • 基于某个commit创建分支

    git branch 新分支 某个commit的id
    
  • 创建分支并切换到该分支

    git checkout -b 新分支
    
  • 列出本地分支

    git branch -v
    
  • 列出本地和远端分支

    git branch -av
    
  • 列出远端所有分支

    git branch -rv
    
  • 列出名称符合某样式的远端分支

    git branch -rv -l '某样式'
    
  • 安全删除本地某分支

    git branch -d 拟删除分支
    
  • 强行删除本地某分支

    git branch -D 你删除分支
    
  • 删除已合并到master分支的所有本地分支

    git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d
    
  • 删除远端origin已不存在的所有本地分支

    git remote prune origin
    
  • 给commit打上标签

    git tag 标签名 commid的id
    
两分支之间的集成
  • 把A分支合入到当前分支,且为merge创建commit

    git merge A分支
    
  • 把A分支合入到B分支,且为merge创建commit

    git merge A分支 B分支
    
  • 把当前分支基于B分支做rebase,以便把B分支合入到当前分支

    git rebase B分支
    
  • 把A分支基于B分支做rebase,以便把B分支合入到A分支

    git rebase B分支 A分支
    
  • 用mergetool解决冲突

    git mergetool
    
和远端交互
  • 列出所有remote

    git remote -v
    
  • 增加remote

    git remote add url地址
    
  • 删除remote

    git remote remove remote名称
    
  • 改变remote的name

    git remote rename 旧名称 新名称
    
  • 把远端所有分支和标签的变更都拉到本地

    git fetch remote
    
  • 把远端分支的变更拉到本地,且merge到本地分支

    git pull remote名称 分支名
    
  • 把本地分支push到远端

    git push remote名称 分支名
    
  • 删除远端分支

    git push remote --delete 远端分支名或git push remote :远端分支名
    
  • 向远端提交指定标签

    git push remote 标签名
    
  • 向远端提交所有标签

    git push remote --tags
    

本文分享自微信公众号 - 飞桨PPDB(Tsing_Liu)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

sourceTree 添加 ssh key 方法

1.使用git客户的生成公私钥:id\rsa、id\rsa.pub1.1设置Git的username和email:$gitconfigglobaluser.name"xxx"$gitconfig\globaluser.email"xxx.mail@xxx.com"1.2.生成SSH密钥过程:1.2.1.检查是不是已经存在密钥(

Git设置

全局设置gitconfigglobaluser.name"用户名"gitconfigglobaluser.email"xxx@126.com"创建git仓库:mkdirdsa\_zhedacddsa\_zhedagitinittouchREADME.mdgita

GIT命令大全 - HelloWorld