git&&SourceTree使用总结
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版本号
工作区和暂存区
工作区
电脑里能够看到的目录一般指工作区,.git文件夹不算,它是git的版本库
Git版本库(.git一般为隐藏文件夹)
stage(或者叫index)的暂存区
master分支,以及指向master的一个HEAD指针(git版本回退就是根据HEAD指针操作)

工作区-->add操作-->stage暂存区-->commit操作-->(当前)master版本库
git管理的文件修改后/新增文件后都需要先将文件添加到暂存区,然后将暂存区的文件commit提交到当前分支
Changes not staged for commit
表示git中的文件被改变了
unTracked files
新建的文件,未被追踪
管理修改
为什么git比其他版本管理工具优秀?
- git管理并跟踪的是修改,而非文件
撤销修改
- 撤销工作区的修改
- git checkout -- 文件名,可以放弃工作区的修改,如果暂存区有内容则跟暂存区的内容相同,暂存区为空则跟版本库中的当前分支相同
- 撤销暂存区的修改
- git reset head 撤销暂存区的修改再撤销工作区的修改
- 撤销工作区的修改
分支修改
- git checkout -b dev
- 创建新的名为dev的分支,相当于,git branch dev+git checkout dev,
- Git branch可以创建新的分支,git checkout可以切换分支
- git branch
- 可以查看分支的情况,当前分支前面会有一个*号
- git merge dev
- merge用于分支合并,可以将后续分支合并到当前分支,一般用的是fast_forward,直接把master指向当前dev的提交,快速合并
- git branch -d dev
- 删除dev分支
- git switch -c dev
- 也可以用于创建分支并切换
- git switch 用于切换分支,作用和git checkout一样
SourceTree常见操作
1. 在SourceTree中追踪分支
- 用于联系本地分支和远程分支,如果在追踪分支上进行pull和push操作,它会自动拉取或者推送到相关联的远程分支上
2. 在SourceTree中放弃更改
- 放弃工作区的更改
- 当对原文件进行修改后,可以在工作区(workspace)选中修改过的文件,右键重置,即可放弃更改,恢复到和本地master分支相同的状态
- 也可以右击重置到提交,可以选择重置到提交,使被更改的文件重置到某个提交的版本
- 注意:在SourceTree里面的
- 修改git分支的名称
- git branch -m oldName newName
3.在SourceTree中合并分支
- 根据日志合并
- 选中某个提交->选中立即提交合并(如果没有冲突的情况下)->确定,如果有冲突则解决冲突,没有冲突则合并完成
- 合并已抓取
- 合并某个已经被抓取到分支的全部内容,用于较多内容的合并
4.解决合并冲突
- 打开外部合并工具
- 使用我的内容解决冲突
- 使用他的内容解决冲突
5.分支的回退
- 命令行下直接使用 git reset --hard commit版本号
- SourceTree模式下,右击某个提交->将分支重置到这次提交
- 软合并
- 混合合并
- 强行合并
- 一般使用软合并与混合合并,强行合并的话会导致本地的修改全部被丢失
git&&SourceTree使用总结的更多相关文章
- Git+SourceTree使用时出现的问题
今天重新用Git+SourceTree添加代码,出现了很多问题,记录下: 1.安装了我SourceTree后克隆项目,粘贴网址后出现Url不正确的情况. 解决: (寻找了些资料,大仙大部分都是说直接选 ...
- git&sourcetree安装及在IntelliIJ下拉取项目基础使用
be careful: 1)git版本与Sourcetree版本最好一致 ,不能git为2.5,sourcetree为1.8 2)先安装git再安装Sourcetree 3)拥有git和sourcet ...
- Git SourceTree 冲突解决方案
Git现在越来越火,很多人都从Svn迁移到Git上面,Git让我们更加与世界接轨,不再是"局域网"的程序猿,特别是掌握了Git之后,会发现它真的很好用,本文对Git中比较烦人的冲突 ...
- GUI for git|SourceTree|入门基础
原文链接:http://www.jianshu.com/p/be9f0484af9d 目录 SourceTree简介 SourceTree基本使用 SourceTree&Git部分名词解释 相 ...
- git SourceTree 客户端 安装/使用教程
使用过SourceTree 之后发现比乌龟好多了 风来了.fox 1.安装之前的必备 1.1 git 客户端 http://msysgit.github.io/ 安装就PASS了,总之是直接下一步.直 ...
- 码云 git sourceTree 私有
1:首先注册码云账号,并建立一个私有项目 2:私有项目连接需要通过SSH验证,我们先在window上安装好git,然后打开git cmd 3:执行命令 ssh-keygen -t rsa -C &qu ...
- 8.14 git??sourceTree??
目前这个项目是四个前端在做,我用的版本控制工具是sourceTree,有两个人用的是命令行,厉害.(刚哥说,肯定要会命令行的,(⊙o⊙)好,我学!!) 上周五提交代码时,文件冲突了,而且我给1.3版本 ...
- 「GIT SourceTree冲突」解决方案
现在程序猿标配GIT作为代码管理,但是从SVN到GIT学习中,其中GIT的冲突是一个难点,常常会导致Push不上去,Pull不下来,很尴尬的地步,还不知道自己写的代码被覆盖没,废话不多说,直接上干货! ...
- git+sourcetree创建仓库
1.git上创建版本库 2.安装sourcetree 3.创建空目录 我本地空目录为D:/shenghuojia 4.打开sourcetree,点击clone/new ,选择clone reposit ...
随机推荐
- 墨者学院靶场:uWSGI(CVE-2018-7490)路径遍历漏洞复现
0x01漏洞简介 uWSGI是一款Web应用程序服务器,它实现了WSGI.uwsgi和http等协议.uWSGI 2.0.17之前版本中存在路径遍历漏洞,该漏洞源于程序没有正确的处理DOCUMENT_ ...
- 今日写一篇散文 Textview settext 方法不能放入 int 参数 不然报错!
Textview settext 方法不能放入 int 参数 不然报错!
- 千亿级平台技术架构:为了支撑高并发,我把身份证存到了JS里
@ 目录 一.用户信息安全规范 1.1 用户信息.敏感信息定义及判断依据 1.1.1 个人信息 1.1.2 个人敏感信息 1.2 用户信息存储的注意事项 二.框架技术实现 2.1 用户敏感信息自 ...
- Linux编辑利器-Vim
在大学时代,Vim 的大名就已如雷贯耳,但由于它陡峭的学习曲线,一直望而却步.等真正开始学习之后,发现并没有想象中的复杂,也没有所谓的瓶颈,只要在实际写代码中强迫自己使用就可以了,无形中就会形成习惯. ...
- CLDAPReflectionDDoS(CLDAP反射放大攻击)
CLDAP Reflection DDoS 0x01 LDAP: 全称为Lightweight Directory Access Protocol,即轻量目录访问协议,基于X.500标准: 目录服务就 ...
- ATmega328P定时器详解
写这篇文章,纯粹是想为博客拉点点击量.在博客园,游客访问好像是不计入阅读量的,而作为一个十八线博主,注册用户的访问应该以搜索引擎为主,博客园首页为次,个位数的粉丝就别谈了. 所以,希望各位从搜索引擎点 ...
- 实例讲解Springboot以Template方式整合Redis及序列化问题
1 简介 之前讲过如何通过Docker安装Redis,也讲了Springboot以Repository方式整合Redis,建议阅读后再看本文效果更佳: (1) Docker安装Redis并介绍漂亮的可 ...
- Java集合linkdList
LinkedList特有功能: A:添加功能 public void addFitst(Object e) public void addLast(Object e) B:获取功能 public Ob ...
- 开发一款图片压缩工具(三):使用 click 实现命令行
上一篇实现了图片的压缩函数.现在如果需要对图片进行压缩,可以调用实现的函数进行压缩: pngquant_compress('elephant.png', force=True, quality=20) ...
- search(8)- elastic4s-search-query模式
上篇提过query模式除对记录的筛选之外还对符合条件的记录进行了评分,即与条件的相似匹配程度.我们把评分放在后面的博文中讨论,这篇我们只介绍query查询. 查询可以分为绝对值查询和全文查询:绝对值查 ...