git&&sourceTree操作学习

基本操作

  • commit 提交
  • pull 更新代码
  • push 推送代码
  • fetch 抓取代码
  • Branch 新建分支
  • merge 合并代码
  • Stash 暂存代码状态
  • log 输出历史提交
  • reset --hard 回退版本
  • reflog 输出git命令的历史

git add 文件名

  • 把文件添加到仓库

git commit -m "说明",提交本次修改

git status 用于查看工作区状态

git diff ,用于查看被更改的文件修改前后的区别

git log ,命令可以查看提交历史

git log --pretty=oneline ,在一行内打印log

git reset --hard HEAD^,回退到上一个版本

  • 回退一个版本 HEAD/两个版本HEAD^/指定版本HEAD~n
  • --hard 版本号,可以用于到达任意版本
  • 注:~n与^为寻根操作

git reflog ,用于输出git的历史命令

  • 通过历史命令可以防止因关闭命令行导致忘记git版本号

工作区和暂存区

  1. 工作区

    电脑里能够看到的目录一般指工作区,.git文件夹不算,它是git的版本库

  2. Git版本库(.git一般为隐藏文件夹)

    • stage(或者叫index)的暂存区

    • master分支,以及指向master的一个HEAD指针(git版本回退就是根据HEAD指针操作)

    • 工作区-->add操作-->stage暂存区-->commit操作-->(当前)master版本库

    • git管理的文件修改后/新增文件后都需要先将文件添加到暂存区,然后将暂存区的文件commit提交到当前分支

      1. Changes not staged for commit

        表示git中的文件被改变了

      2. unTracked files

        新建的文件,未被追踪


管理修改

  1. 为什么git比其他版本管理工具优秀?

    • git管理并跟踪的是修改,而非文件
  2. 撤销修改

    • 撤销工作区的修改

      • git checkout -- 文件名,可以放弃工作区的修改,如果暂存区有内容则跟暂存区的内容相同,暂存区为空则跟版本库中的当前分支相同
    • 撤销暂存区的修改
      • git reset head 撤销暂存区的修改再撤销工作区的修改

分支修改

  1. git checkout -b dev

    • 创建新的名为dev的分支,相当于,git branch dev+git checkout dev,
    • Git branch可以创建新的分支,git checkout可以切换分支
  2. git branch
    • 可以查看分支的情况,当前分支前面会有一个*号
  3. git merge dev
    • merge用于分支合并,可以将后续分支合并到当前分支,一般用的是fast_forward,直接把master指向当前dev的提交,快速合并
  4. git branch -d dev
    • 删除dev分支
  5. git switch -c dev
    • 也可以用于创建分支并切换
    • git switch 用于切换分支,作用和git checkout一样

SourceTree常见操作

1. 在SourceTree中追踪分支

  • 用于联系本地分支和远程分支,如果在追踪分支上进行pull和push操作,它会自动拉取或者推送到相关联的远程分支上

2. 在SourceTree中放弃更改

  1. 放弃工作区的更改

    • 当对原文件进行修改后,可以在工作区(workspace)选中修改过的文件,右键重置,即可放弃更改,恢复到和本地master分支相同的状态
    • 也可以右击重置到提交,可以选择重置到提交,使被更改的文件重置到某个提交的版本
    • 注意:在SourceTree里面的
  2. 修改git分支的名称
    • git branch -m oldName newName

3.在SourceTree中合并分支

  • 根据日志合并

    • 选中某个提交->选中立即提交合并(如果没有冲突的情况下)->确定,如果有冲突则解决冲突,没有冲突则合并完成
  • 合并已抓取
    • 合并某个已经被抓取到分支的全部内容,用于较多内容的合并

4.解决合并冲突

  • 打开外部合并工具
  • 使用我的内容解决冲突
  • 使用他的内容解决冲突

5.分支的回退

  • 命令行下直接使用 git reset --hard commit版本号
  • SourceTree模式下,右击某个提交->将分支重置到这次提交
    1. 软合并
    2. 混合合并
    3. 强行合并
  • 一般使用软合并与混合合并,强行合并的话会导致本地的修改全部被丢失

git&&SourceTree使用总结的更多相关文章

  1. Git+SourceTree使用时出现的问题

    今天重新用Git+SourceTree添加代码,出现了很多问题,记录下: 1.安装了我SourceTree后克隆项目,粘贴网址后出现Url不正确的情况. 解决: (寻找了些资料,大仙大部分都是说直接选 ...

  2. git&sourcetree安装及在IntelliIJ下拉取项目基础使用

    be careful: 1)git版本与Sourcetree版本最好一致 ,不能git为2.5,sourcetree为1.8 2)先安装git再安装Sourcetree 3)拥有git和sourcet ...

  3. Git SourceTree 冲突解决方案

    Git现在越来越火,很多人都从Svn迁移到Git上面,Git让我们更加与世界接轨,不再是"局域网"的程序猿,特别是掌握了Git之后,会发现它真的很好用,本文对Git中比较烦人的冲突 ...

  4. GUI for git|SourceTree|入门基础

    原文链接:http://www.jianshu.com/p/be9f0484af9d 目录 SourceTree简介 SourceTree基本使用 SourceTree&Git部分名词解释 相 ...

  5. git SourceTree 客户端 安装/使用教程

    使用过SourceTree 之后发现比乌龟好多了 风来了.fox 1.安装之前的必备 1.1 git 客户端 http://msysgit.github.io/ 安装就PASS了,总之是直接下一步.直 ...

  6. 码云 git sourceTree 私有

    1:首先注册码云账号,并建立一个私有项目 2:私有项目连接需要通过SSH验证,我们先在window上安装好git,然后打开git cmd 3:执行命令 ssh-keygen -t rsa -C &qu ...

  7. 8.14 git??sourceTree??

    目前这个项目是四个前端在做,我用的版本控制工具是sourceTree,有两个人用的是命令行,厉害.(刚哥说,肯定要会命令行的,(⊙o⊙)好,我学!!) 上周五提交代码时,文件冲突了,而且我给1.3版本 ...

  8. 「GIT SourceTree冲突」解决方案

    现在程序猿标配GIT作为代码管理,但是从SVN到GIT学习中,其中GIT的冲突是一个难点,常常会导致Push不上去,Pull不下来,很尴尬的地步,还不知道自己写的代码被覆盖没,废话不多说,直接上干货! ...

  9. git+sourcetree创建仓库

    1.git上创建版本库 2.安装sourcetree 3.创建空目录 我本地空目录为D:/shenghuojia 4.打开sourcetree,点击clone/new ,选择clone reposit ...

随机推荐

  1. [总结]RMQ问题&ST算法

    目录 一.ST算法 二.ST算法の具体实现 1. 初始化 2. 求出ST表 3. 询问 三.例题 例1:P3865 [模板]ST表 例2:P2880 [USACO07JAN]平衡的阵容Balanced ...

  2. Python中Selenium模拟JQuery滑动解锁实例

    滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路. 首先先看个例子. https://www.helloweba.com/demo/2017 ...

  3. Laravel 上手增删改查

    拿到一个框架,除了解框架,还要能实现基本的CURD操作. 添加 1.配置路由,指定添加页面: // routes/web.php 中增加如下: // 添加页面.存放路径 Laravel7/resour ...

  4. APP测试和WEB测试区别

    App测试web测试的区别 单纯从功能测试的层面上来讲的话,APP 测试.web 测试 在流程和功能测试上是没有区别的 根据两者载体不一样,则区别如下: 1.兼容性测试:web端兼容浏览器,app端兼 ...

  5. wordpress 常用操作

    删除主题 在主题目录 wp-content/themes 中直接删除即可. 首页和文章页使用不同主题 首页使用sidebar,文章页不使用sidebar,这样文章的内容可以占更宽的页面 安装插件 Mu ...

  6. WebApi参数检查验证FluentValidation的使用方法

    右键打开NuGet程序包管理,进入浏览,搜索 FluentValidation,点击下载 在Model文件夹添加一个Person类进行校验 校验前,using需要引入相应的命名空间方可使用,Abstr ...

  7. tp5--模型关联

    来源于:https://blog.csdn.net/u012600104/article/details/78927629 先说明,模型关联和join管理是不一样的,用文章和评论的关系来举例.(一对多 ...

  8. Java一个简单的贪吃蛇

    Java一个简单的贪吃蛇 虽然GUI已经要淘汰了,但是手动写写界面还是有助于理解语法的,像构造函数 ,函数调用,内部类,继承,接口.有助于半初学者强化理解. 直接上代码 游戏主体类: package ...

  9. Golang Map实现(四) map 的赋值和扩容

    title: Golang Map 实现 (四) date: 2020-04-28 18:20:30 tags: golang map 操作,是map 实现中较复杂的逻辑.因为当赋值时,为了减少has ...

  10. Asp.Net Core 3.1学习-依赖注入、服务生命周期(6)

    1.前言 面向对象设计(OOD)里有一个重要的思想就是依赖倒置原则(DIP),并由该原则牵引出依赖注入(DI).控制反转(IOC)及其容器等概念.在学习Core依赖注入.服务生命周期之前,下面让我们先 ...