创建版本库

  • 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. kafka3.0创建topic出现zookeeper is not a recognized option

    在linux云服务器上搭建了一套kafka3.0集群,然后安装以前的创建topic指令,例如这样-- ./kafka-topics.sh --bootstrap-server master:2181, ...

  2. [oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史

    换行回车 回忆上次内容 换行 和 回车 是两回事 换行 对应字节0x0A Line-Feed 水平 不动 垂直 向上喂纸 所以是 feed 回车 对应字节0x0D Carriage-Return 垂直 ...

  3. 数据类型的别名&&随机数_C

    // Code file created by C Code Develop #include "ccd.h" #include "stdio.h" #incl ...

  4. 题解:CF1971D Binary Cut

    题解:CF1971D Binary Cut 题意 给予你一个 \(01\) 字符串,你可以将它分割,分割后必须排成先 \(0\) 后 \(1\) 的格式. 求最少分割为几部分. 思路 将 \(0\) ...

  5. Nuxt.js必读:轻松掌握运行时配置与 useRuntimeConfig

    title: Nuxt.js必读:轻松掌握运行时配置与 useRuntimeConfig date: 2024/7/29 updated: 2024/7/29 author: cmdragon exc ...

  6. 趣谈n++与++n的differences

    前言:今天小白在学习时无意发现一组有趣的孪生兄弟** n++ 与 ++n** 探索:二者不同之处 工具:VS2022 过程: 前者是++n,输出11,12,13,14 后者是n++,输出10,11,1 ...

  7. 【Spring】02 过程分析

    回顾JavaWeb三层架构设计: UserDao接口 public interface UserDao { void getUser(); } 实现类 public class UserDaoImpl ...

  8. 【Vue】Re06 组件化

    将一个应用页面拆分成若干个可重复使用的组件 一.Vue的组件的使用步骤: 1.创建组件构造器 2.注册组件 3.使用组件 <!DOCTYPE html> <html lang=&qu ...

  9. 在深度计算框架MindSpore中如何对不持续的计算进行处理——对数据集进行一定epoch数量的训练后,进行其他工作处理,再返回来接着进行一定epoch数量的训练——单步计算

    如题所述: 深度学习框架MindSpore是华为公司研发的,由于性能设计的原因,MindSpore的一些使用方式和TensorFlow和PyTorch有一些不同,其中的一点就是在进行单步计算或者是非持 ...

  10. 解决GitHub不显示图片问题——GitHub图片显示失败

    在Github上打不开图片是一个极为常见的事情,出现这样的问题的原因就是我们的主机无法正确解析图片所在主机域名对应的IP地址,下面给出一个在本地主机(window10)上使用ping命令解析目标主机域 ...