Git复习步骤
1.首先肯定是安装与配置了
首先要下载Git,然后设置用户名/邮箱
如果有远程仓库,则需要通过 ssh-keygen -t rsa 或者 ssh-keygen -t rsa -C "youremail@example.com" 在主目录生成.ssh文件夹。再将公钥放到远程仓库对应位置,如github
2. 添加.gitigonre
http://www.softwhy.com/article-8539-1.html
3.提交流程
a.已经在本地提交
merge,如果不是快速合并,会生成新的提交记录。遇到冲突时,需要解决冲突,然后add,commit.
rebase,不会生成新的提交。遇到冲突,解决,add,不需要提交, 而是rebase --continue.就可以了
aa)如果本地有只有一个分支,git pull --rebase.即可。遇到冲突,解决,add,然后rebase --continue就好了。
ab)但是,如果本地有master ,dev两个分支,但只通过master提交的话:
首先进入master,git pull,拉取远程仓库最新代码
再进入dev分支,git rebase master.将dev分支处理好
最后进入master分支,git merge dev 进行快速合并,再在master上push,这样就不会产生无意义的提交
ac)其实最正常是这个:
如果本地有master ,dev两个分支,通过dev提交的话:
首先进入master,git pull,拉取远程仓库最新代码
再进入dev分支,git rebase master.将dev分支处理好,在dev分支push自己的代码
b. 本地未提交:
如果本地只有一个分支,用stash的方式也可以,工作区间代码不提交(注意,上文中的工作区间修改都需要提交),stash起来,然后,git pull.
然后运用stash, 遇到冲突(没冲突的自动放到index区间,有冲突的留在工作区间待解决),解决,add, 最后提交
3.修改
a. 如果要删除工作区, git checkout --filename
b. 如果将暂存区回退至工作区, git reset head
4. git reset深入理解(把握主线:HEAD的指向)
暂存区和本地仓库其实也是两个指针
git reset的mixed模式, 会对两个区域都进行回退(默认),git reset head回退到本地仓库当前HEAD,这个时候,本地仓库不变(因为未提交),暂存区回退至与本地仓库等齐的HEAD,导致工作区指针比暂存区超出一个修改,产生了将暂存区内容回退至工作区的现象。(个人的理解,正式一点的可以看下面的描述)
一下三种模式本质上就是是否用本地仓库的内容 覆盖本地仓库自身/soft, 覆盖暂存区/mixed, 覆盖工作区/hard
--soft:暂存区不会被替换。只更改本地仓库。工作区内容不变
--mixed:默认值,当重置分支本地仓库所指向commit提交位置时,暂存区中的内容会被 本地仓库内容所替换,工作区内容不变
--hard:暂存区和工作区的内容都会被新指向的commit提交内容所替换;git reset --hard只影响被跟踪的文件,如果工作区有新增的文件,并不会被影响。
综上,将内容回退至工作区,head是本地仓库commit的指向, reset默认mixed
a.未提交: git reset head
b. 已提交:git reset head^
5. reset与revert的区别
6. git stash详解
git stash save 'expamle message' 储藏全部文件, save无法储藏指定文件
git stash push -m 'example message' push, 可以储藏全部文件
git stash push example/example.txt -m 'example message' push, 可以储藏指定文件
stash好文:http://www.softwhy.com/article-8628-1.html
强烈推荐:蚂蚁部落 www.softwhy.com
7. git cherry-pick:https://www.jianshu.com/p/c787fa885ffd
git cherry-pick [commit id]
单个commit只需要git cherry-pick commitid
多个commit 只需要git cherry-pick commitid1..commitid100 注意,不包含第一个commitid
如果想搞成[]区间,使用 git cherry-pick A^..B 相当于[A B]包含A
8 IDE中常见的配置:
Git复习步骤的更多相关文章
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
- 项目git的步骤,将项目托管到码云
项目git的步骤 1.创建.gitignore文件,进行文件过滤.写着不需要上传到git仓库的文件夹名字 2.readme.md 3.拷贝LICENSE,开源协议 4.创建本地仓储 * 使用git i ...
- 生成 git 密钥 步骤
http://blog.csdn.net/wfdtxz/article/details/8678982 git使用https协议,每次pull, push都要输入密码,相当的烦.使用git协议,然后使 ...
- Mac git提交步骤小记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "PingFang SC"; c ...
- git安装步骤
Git简单使用说明 安装git msysgit是Windows版的Git,从https://git-for-windows.github.io下载,然后按默认选项安装即可(注:安装适合自己电脑版本的g ...
- git使用步骤_2017
(部署项目) zbot deploy developer git对文件chmod 777后导致status发生变化,使用: git config core.fileMode false [当 ...
- git使用步骤
1报名出处: git config --global user.name lhp 用户名 git config --global user.email a@.qq.com 邮箱 2.建立项目文件夹: ...
- git提交步骤
1,为了确定在本地分支下操作,可以用命令查看一下是否在本地分支 git branch 2,可以查看状态,是否添加了哪些内容 git status 3,如果确认无误,使用命令进行提交本地代码,并加上注释 ...
- git merge 步骤
这两天用git比较多,自己学习的过程踩了不少误区,特意记录下来. 当多人合作开发使用git作为代码管理仓库时,要注意自己的更新不能冲掉别人的更新,因为自己一开始不了解的时候就出现了这种情况.首先一定要 ...
随机推荐
- 好用的一些 git 命令
git stash 将已修改未提交的 改动保存起来 恢复用git stash pop gir revert 反转commit git rebase 更换基础分支 git grep -n 显示 ...
- Azure架构(一):云计算基础
云计算的定义 云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给使用各种计算终端(桌面电脑.笔记本电脑.平板电脑.手机等) ...
- UML作业第二次:类图中类的表示
1.关于类图的学习: 类图显示了系统的静态结构. 类:类图中的主要元素,用矩形表示.矩形的上层表示类名.中层表示属性.下层表示方法. 类之间的关系:关联.依赖.聚集.泛化和实现五种. 2.五种类间关系 ...
- Mybatis框架(未完待续)
1.框架概述: 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题.好处:框架封装了很多的细节,使开发者可以使用极简的方式实现功能.大大提高开 ...
- 解决IE浏览器把application/json响应视为文件并尝试下载
下面我的解决方案是针对.net MVC的,其他的解决方案也类似,就是把响应的mimeType换成IE浏览器已经拥有的.如application/json换成text/plain #region 退出登 ...
- carbondata-summary
源码 http://www.zhuyongpeng.cn/1699.html 融合数据白皮书:Apache CarbonData成为主流融合存储技术 http://cloud.yesky.com/46 ...
- Mybatis 元素内容必须由格式正确的字符数据或标记组成
一个web应用,框架为SpringMVC Spring Mybatis ,昨天写了一下午的代码,因为逻辑较大,期间也没测,打算写完这个功能点在进行测试,谁知道写完的时候,tomcat根本启动不起来了, ...
- bfs记录路径,蓝桥杯真题
题意:在01矩阵中,找到一条从入口到终点的最短路径,并且打印这条路径. 题目链接:http://lx.lanqiao.cn/problem.page?gpid=T291 #include<ios ...
- winsock I/O模型的分析
几种winsock I/O模型的分析 套接字是通信的基础,是支持网络协议数据通信的基本接口.Winsocket 提供了一些有趣的I/O模型,有助于应用程序通过一种“异步”方式,一次对一个或者多个套接字 ...
- 《DRN: A Deep Reinforcement Learning Framework for News Recommendation》强化学习推荐系统
摘要 新闻推荐系统中,新闻具有很强的动态特征(dynamic nature of news features),目前一些模型已经考虑到了动态特征. 一:他们只处理了当前的奖励(ctr);. 二:有一些 ...