创建版本库

  • git clone url 克隆远程版本库
  • git init 初始化本地版本库

配置

  • git config --global user.name 'chengcp' 配置global级别的用户名
  • git config --global user.email '1326895569@qq.com' 配置global级别的邮箱
  • git config --global -l 查看global级别的配置列表
  • git config --global --unset user.name 删除用户名
  • git config --global alias.last 'log -1 HEAD' 配置last别名,使用git last将显示最近的一次提交记录

添加和删除文件

  • git add file1 file2 添加指定文件到暂存区
  • git add dir 添加指定目录到暂存区
  • git add . 添加当前目录的所有文件到暂存区
  • git mv oldname newname 对一个已经追踪过的文件进行改名,同时加入暂存区
  • git rm file1 file2 删除工作区文件,同时将这次删除放入暂存区
  • git rm --cached file 停止追踪指定文件,但该文件会保留在工作区;tracked变成untracked

提交

  • git commit file1 file 2 -m message 提交暂存区指定文件到本地仓库
  • git commit -m message 提交暂存区所有文件到本地仓库
  • git commit -a -m message 自动暂存所有已经追踪过的文件,且提交到本地仓库
  • git commit --amend -m message 使用一次新的提交,替代上次提交

分支

  • git branch 查看所有本地分支
  • git branch –r 查看所有远程分支
  • git branch –a 查看所有远程和本地分支
  • git branch –v 查看本地所有分支最新一次提交信息
  • git branch [branch] 新建分支
  • git checkout –b [branch] 新建一个分支,并且切换过去
  • git branch [branch] [commit] 基于某次提交,建立一个分支
  • git branch --track [branch] [remote-branch] 建立一个分支,并且与远程分支建立追踪关系
  • git branch --set-upstream [branch] [remote-branch] 在现有的本地分支和远程分支之间建立追踪关系
  • git branch –m [old-branch] [new-branch] 重命名分支
  • git merge [branch] 把指定分支合并到当前分支
  • git chery-pick [commit] [commit] 选择提交,合并进当前分支
  • git branch –d [branch] 删除本地分支
  • git push origin –d [branch] 删除远程分支
  • git checkout [branch] 切换分支
  • git checkout - 切换到上一个最近使用过的分支

标签

  • git tag 列出所有标签
  • git show [tag] 查看指定标签信息
  • git tag [tag] 给最近一次提交打一个标签
  • git tag [tag] [commit] 在某次提交上打一个标签
  • git tag –d [tag] 删除本地指定标签
  • git push origin –d tag [tag] 删除远程的标签
  • git push origin [tag] 推送指定标签
  • git push origin --tags 推送所有标签

查看信息

  • git status 查看文件状态
  • git help [command] 获取帮助文档
  • git [command] --help 获取帮助文档
  • git log 查看当前分支的提交记录
  • git log –all 查看所有分支的提交记录
  • git log -5 --oneline --graph 查看最近 5 次提交记录,以单行、树状图形式显示
  • git reflog 查看本地所有变更记录
  • git diff 查看工作区和暂存区的差异
  • git diff -- file 某个文件在工作区和暂存区的差异
  • git diff HEAD 工作区和最新一次提交的差异
  • git diff --cached 暂存区和 HEAD 的差异
  • git diff branch_a branch_b – file 某文件在两个分支间的差异

远程操作

  • git remote -v 查看所有远程仓库
  • git ls-remote origin 查看远程仓库引用列表
  • git remote show origin 查看远程仓库信息
  • git fetch origin 拉取远程仓库最新提交
  • git pull origin master 拉取远程master,并且合并到本地当前分支
  • git remote add upstream url 添加一个新的远程仓库,命名为upstream
  • git push origin master 推送到远程originmaster分支
  • git push origin --all 推送所有分支到远程仓库
  • git remote prune origin 删除远程仓库中不存在的分支

撤销

  • git reset --soft HEAD 回滚到指定版本,保留工作区和暂存区
  • git reset --mixed HEAD 回滚到指定版本,保留工作区,清空暂存区;--mixed是默认参数,即等同于git reset HEAD
  • git reset --hard HEAD 回滚到指定版本,清空工作区和暂存区
  • git reset HEAD -- file 清空暂存区中某个文件的修改
  • git checkout -- file 检出暂存区的文件到工作目录
  • git checkout . 检出暂存区的所有文件到工作目录
  • git revert HEAD~ 2 回滚到 2 个祖先提交的版本,同时产生新的提交记录
  • git revert --continue 冲突解决,且把修改提交到暂存区后执行回滚,生成一个新的提交
  • git revert –abort 取消回滚,回到之前的状态

储藏

  • git stash 将工作区和暂存区的变更保存到储藏堆栈中,同时工作区和暂存区恢复到HEAD一样
  • git stash list 查看储藏列表
  • git stash pop 应用最近的一次储藏,并且从储藏栈中移除该条记录
  • git stash apply stash@{0} 应用最近的一次储藏,不移除记录;等同于 git stash apply
  • git stash pop --index 应用最近一次储藏,--index表示暂存区的变更也会更新,否则只更新工作区变更
  • git stash drop stash@{0} 移除储藏记录

原文地址:https://bubuzou.com/2019/09/24/git-all-actions/

【转】git常用操作的更多相关文章

  1. git报错:'fatal:remote origin already exists'怎么处理?附上git常用操作以及说明。

    git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1.先删除 $ git remote rm origin 2.再次执行添加就可以了. ---------------------- ...

  2. 版本控制工具——Git常用操作(上)

    本文由云+社区发表 作者:工程师小熊 摘要:用了很久的Git和svn,由于总是眼高手低,没能静下心来写这些程序员日常开发最常用的知识点.现在准备开一个专题,专门来总结一下版本控制工具,让我们从git开 ...

  3. git常用操作 配置用户信息、拉取项目、提交代码、分支操作、版本回退...

    git常用操作 配置用户信息.拉取项目.提交代码.分支操作.版本回退... /********git 配置用户信息************/ git config --global user.name ...

  4. Git常用操作(二)

    仓库拉取 git clone XXX 修改仓库链接 $ git config -l # 显示coding列表 $ git config --get remote.origin.url # 返回orig ...

  5. 版本控制工具——Git常用操作(下)

    本文由云+社区发表 作者:工程师小熊 摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码.使用分支.出现代码冲突的解决办法.紧急保存现场和恢复现场的操作.学会以后已经 ...

  6. (数据科学学习手札141)利用Learn Git Branching轻松学习git常用操作

    1 简介 大家好我是费老师,Git作为世界上最流行的版本控制系统,可以说是每一位与程序打交道的朋友最值得学习的软件之一.除了管理自己的项目,如果你对参与开源项目感兴趣,那么Git更是联结Github. ...

  7. git 常用操作总结

    廖雪峰博客的git 教程写得不错, 很详细,但是却总结的不是很好. 这里哥再详细总结一遍吧! Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch 切换分支:git ...

  8. Git常用操作汇总(转)

    如果一个文件被删除了,可以使用切换版本号进行恢复.恢复方法: 先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么 git checkout com ...

  9. git常用操作记录

    之前的多人项目大多使用了SVN作为版本控制,自己只会用eclipse连接GitHub的操作.这次项目采用了git作为版本控制系统,所以学会了很多新操作,这里权当记录,以备后用. git的一些基本操作可 ...

  10. git常用操作笔记

    这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...

随机推荐

  1. windows服务开发demo

    0.写在前面 windows7开始,windows服务运行在session 0, 用户程序都运行在session x (x >= 1) 而session之间是有隔离的,实践发现是无法在服务中直接 ...

  2. AI驱动音乐创新,网易数帆X云音乐刷新MIREX世界纪录 网易数帆 网易数帆

    在近期揭榜的2021国际音频检索评测大赛(MIREX)上,网易数帆易智语音团队携手网易云音乐音视频实验室,凭借生产级AI技术创新能力,在歌词识别和歌单识别两个赛道大幅打破世界纪录夺得冠军. MIREX ...

  3. oeasy教您玩转vim - 19 - 使用标记

    使用标记 回忆上节课内容 跳转到行号 200G 设置行号选项 显示行号 :se nu 显示相对行号 :se rnu 如何用命令行跳转 :100 但是我如何有的时候记不住到底跳到多少行 能否做个标记留个 ...

  4. 题解:P10722 [GESP202406 六级] 二叉树

    题意 一颗 \(n\) 节点的二叉树,每个节点非黑即白,给你 \(Q\) 次操作,每次给你一个 \(u\),把 \(u\) 的子树内所有节点颜色反转,问最终每个节点的颜色. 分析 看到数据范围,首先把 ...

  5. Python项目批量管理第三方包(requirements.txt)

    python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便新环境部署. requirements.txt可以通过pip命令自动生成和安装 生成re ...

  6. 硬件开发笔记(二十八):TPS54331电源设计(一):5V电源供电原理图设计

    前言   电源供电电路设计很重要,为了更好的给对硬件设计有需求的人,特意将电源设计的基础过程描述出来.  本篇描述设计常用的12V转5V电路3A.   TPS54331(DC-DC稳压器) 概述    ...

  7. 亚马逊 vpc 子网 路由表 互联网网关 弹性ip

    创建vpc,子网,路由表,互联网网关,弹性ip等网络资源 vpc和子网 创建互联网网关 附加到vpc 创建路由表 路由表编辑路由 此路由通过这个网关出去 编辑子网关联 保存关联 有关云主机 创建属于那 ...

  8. pytest数据驱动(最简单)

    pytest数据驱动(最简单) 第一种:通过yaml文件获取数据(一维列表) data.yaml文件内容如下: - '软件测试'- '单元测试'- '自动化测试'- '性能测试'- '测试开发'- ' ...

  9. 【Java】线程池配置

    先看JUC包自带的一个资源 线程池执行器: 初始化参数如下 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor( corePo ...

  10. 【Java】 Springboot+Vue 大文件断点续传

    同事在重构老系统的项目时用到了这种大文件上传 第一篇文章是简书的这个: https://www.jianshu.com/p/b59d7dee15a6 是夏大佬写的vue-uploader组件: htt ...