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. 一个hql 关键字member(非mysql)引起的 vo 数据 保存数据库错误

    2015-03-19 14:16:29,285 ERROR [Thread-3] (DAOHelper.java:312) - updateByEntityPK:com.agileeagle.dao. ...

  2. 发现一款手绘可视化神器!Python绘图还在用Matplotlib?out了 !

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...

  3. 2007 NOIP T1奖学金

    奖学金(07NOIPT1): [题目描述] 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果 ...

  4. jarvisoj MISC 取证2

    打开之后一个文件和一个镜像 TrueCrypt....记住他了,再看一眼那个文件,好的,TrueCrypt加密..找密码 把Truecrypt.exe直接dump下来,用efdd解密就行了

  5. Category、load、initialize 源码讲解

    今天深圳天气有暴风雨,没有事情干,趁着周末和平常晚上写一篇关于Category知识的梳理!可能针对平常只会知道些category基本结论知道的人有些帮助,写这篇博客会按照下面的目录结合实例以及Cate ...

  6. react: typescript system params optimize

    1.system-params-service import paramCache from "../common/param-cache" import RequestPromi ...

  7. pytorch seq2seq闲聊机器人

    cut_sentence.py """ 实现句子的分词 注意点: 1. 实现单个字分词 2. 实现按照词语分词 2.1 加载词典 3. 使用停用词 "" ...

  8. keras API的使用,神经网络层,优化器,损失函数,查看模型层数,compile和fit训练

    layers介绍 Flatten和Dense介绍 优化器 损失函数 compile用法 第二个是onehot编码 模型训练 model.fit  两种创建模型的方法 from tensorflow.p ...

  9. shll脚本常用格式和规则使用

    shll脚本格式和规则 脚本文件必须已 .sh 结尾(yuan.sh) 脚本第一行必须是:#!/bin/bash 激活脚本的二种方式(sh yuan.sh)(给脚本X权限,以绝对路径执行脚本) 逻辑与 ...

  10. Python快速编程入门,打牢基础必须知道的11个知识点 !

    Python被誉为全世界高效的编程语言,同时也被称作是“胶水语言”,那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因. Python 简介 ...