目录

一、Git 基本概念说明

二、常用命令说明


一、Git 基本概念说明

  • Working tree工作区

用户当前工作文件目录,就是我们平时编辑代码的文件目录。

  • Index暂存区

暂存区, 工作区(Working tree)中的修改add之后将会到暂存区(Index)中。

  • Local repo本地仓库

本地仓库, 暂存区(index)的修改commit之后将会存入本地仓库(Local repo)。

  • Remote repo远程仓库

远程仓库

  • HEAD[^] or [~100]

HEAD代表的是当前版本的别名,上一个版本就是HEAD^,上上个版本就是HEAD^^,上100个版本就是HEAD~100

  • Branch

分支

  • Upsteam / Downsteam

当你git clone xxx之后, 系统会自动为xxx创建一个别名,就是Upsteam,而你的本机对于远程的仓库来说,就是Downsteam。
Git branch –vv 可以查看当前分支的upsteam。

二、常用命令说明

Git status 查看当前git状态!不知道要干嘛的时候可以使用一下!
Git clone 克隆远程仓库
Git pull 获取远程分支master并merge到当前分支
Git add 添加修改到缓存区(Index)
Git commit 提交缓存区(Index)修改到本地仓库(Local repo)
Git push 将当前分支push到远程仓库(Remote repo)master分支
Git reset 将当前版本还原到指定版本(Commit Id 或者 HEAD)
Git checkout 切换分支
Git log 显示日志
Git branch 显示所有本地分支, 带参数可以实现对分支的一些操作
Git stash 暂存当前修改,将工作区(Working tree)置为HEAD状态
Git show 显示某个提交的详细内容, 后面接上commit id ,例 git show HEAD

使用场景

  • 场景1:工作过程中修改乱了自己的工作区(working tree),想要还原到本地仓库的HEAD。

(1)git stash 将所有工作区修改存到stash里面, 并将工作区还原到HEAD版本。

(2)git reset —hard HEAD 将工作区还原到HEAD版本。

  • 场景2:日常工作流程

git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下:

git checkout work工作…提交工作分支的修改
$ git commit -a回到主分支
$ git checkout master获取远程最新的修改,此时不会产生冲突
$ git pull回到工作分支
$ git checkout work用rebase合并主干的修改,如果有冲突在此时解决
$ git rebase master回到主分支
$ git checkout master合并工作分支的修改,此时不会产生冲突。
$ git merge work提交到远程主干
$ git push

场景3:无视远程仓库版本, 强行push(不建议使用)

git push –f 强行将本地仓库当前分支push到远程仓库

Git基本操作(学习笔记)相关推荐

  1. 《GitHub入门与实践》第4章 通过实际操作学习Git 基本操作——学习笔记

    文章目录 1. 基本操作 1.1 git init--初始化仓库 1.2 git status--查看仓库的状态 1.3 git add--向暂存区中添加文件 1.4 git commit--保存仓库 ...

  2. 《Got Git》学习笔记(一)

    <Got Git>学习笔记(一) 最近想对自己的代码和文档进行归档整理,需要一个版本控制系统来进行 处理.自然而然的想到了目前流行的GitHub. GitHub,是一个面向开源及私有软件项 ...

  3. git的学习笔记(二):git远程操作

    git的学习笔记(一):git本地操作 1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目 ...

  4. Git 个人学习笔记及心得

    作为程序员如果你还不知道 Git 和 GitHub,说不过去吧,赶紧来学习一波. 一.认识GitHub Git 是个版本控制系统,说明白点就是进行代码的各种管理,比如你写错代码进行回滚啊.追寻 Bug ...

  5. Learn Git Branching 学习笔记(移动提交记录篇)

    目录 一.移动提交记录篇 1.Git Cherry-pick 2.交互式rebase Git用法高级篇在上一篇文章中Learn Git Branching 学习笔记(高级篇)_流年--by gone的 ...

  6. Learn Git Branching 学习笔记(高级话题篇)

    目录 一.高级话题篇 1.多分支rebase 2.选择父提交记录 3.纠缠不清的分支 Git的一些技术.技巧与贴士集合在上一篇文章中 Learn Git Branching 学习笔记(Git 技术.技 ...

  7. git/github学习笔记

    原文地址为: git/github学习笔记 请移步到:http://www.testclass.net/git/ ----- 我重新对git/github教程进行了编排和整理. 1. git 版本控制 ...

  8. git serialtool_Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  9. 廖雪峰Git教程学习笔记

    廖雪峰git简单教程学习笔记 教程地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b ...

  10. Git入门学习笔记(10分钟速通)

    一.Git概述 官网翻译: Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有内容. Git易于学习, 体积小,性能快如闪电.它超越了 Subversion.C ...

最新文章

  1. Exchange 2013与OWA13集成
  2. HDU5934(强连通分量)
  3. 用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架
  4. 训练NeRF只需5秒?!英伟达这项新技术给谷歌研究员整不会了 | 开源
  5. MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
  6. jquery中邮箱地址 URL网站地址正则验证实例代码
  7. SpringCloud源码分析(一)--客户端搭建
  8. iPDA“国际智能车联合道路演示”压轴,IEEE IV 2018 圆满落幕!
  9. button的OnClick与OnClientClick事件
  10. linux下的Apache2 + mysql5 + php5 源码完整安装详解
  11. 转换json_使用Java将JSON转换为POJO
  12. [C++]变量和基本类型
  13. 远程登录(Telnet)的配置
  14. jsp input输入实时校验长度并提示_拆解「输入框」,理解输入反馈的规则逻辑
  15. 解决IDEA支持GBK编码项目的问题
  16. sql如何行转列,列转行
  17. 电脑模拟收银机_机场收银模拟器下载
  18. 工科数学分析寒假预习day4 更序问题和级数乘法
  19. Java selenium 爬取 星图
  20. selenium——爬取qq空间说说

热门文章

  1. 算法: 1和0子集合的个数 474. Ones and Zeroes
  2. 极客大学架构师训练营 加密技术 高可用系统的度量 高可用系统的架构 高可用系统的运维 第22课 听课总结
  3. 易筋SpringBoot 2.1 | 第三十一篇:SpringBoot Reactor响应式编程实战一
  4. java开发常用的linux命令,Java开发中最常用的Linux命令整理
  5. 196.删除重复的电子邮箱
  6. Hadoop在master查看live nodes为0解决方案
  7. 【数论思维题】Enlarge GCD【Codeforces Round #511 (Div. 2)】
  8. 让面试官赞扬的IO读取方法:大文件进行词频统计(单线程与多线程分别解决)利用Buffer流简单又快捷
  9. java linux 系统队列,linux下消息队列
  10. 合并报表编制采用的理论_跟我一起学合并报表之——长期股权投资的抵消处理...