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作为代码管理仓库时,要注意自己的更新不能冲掉别人的更新,因为自己一开始不了解的时候就出现了这种情况.首先一定要 ...
随机推荐
- 编程填空:第i位替换
编程填空:第i位替换 OpenJudge 总时间限制:1000ms 内存限制:1024kB 描述:写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同. 请使 ...
- canal 代码阅读
涉及到有边界队列,无边界队列.poolSize.corePoolSize.maximumPoolSize 三者参数含义 If there are more than corePoolSize but ...
- 利用MathType为公式编号并引用
序言 在理工科的论文撰写过程中, 公式编辑.编号以及引用非常普遍, 但是笔者没有发现word本身对公式编号和引用有比较好的支持, 所以只好求助于第三方插件. MathType在公式编辑方面表现比较出色 ...
- jQuery动画方法
下面介绍一些使用jQuery实现动画的方法: html中有如下代码: <button id="btn-box1">show</button> <but ...
- navicat 远程访问mariadb失败,修改配置如下
1.首先配置允许访问的用户,采用授权的方式给用户权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '121212' WITH GRAN ...
- Nginx配置选项
--prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录.默认使用 /usr/local/nginx. --sbin-path=path 设置nginx的可执行 ...
- C# 使用Newtonsoft.Json读写Json文件
{ "CAN": false, "AccCode": 4294901856, "Id": 768, "BPointMove&quo ...
- Python语言——基础01-环境安装、注释、变量
开篇导言: 今天开始进行python学习的笔记更新,以后我都用截图的方式更新,方便不麻烦,界面美观,今天学习更新的python学习内容是环境安装.注释.变量的内容 关注我博客的童鞋从现在开始也可以跟着 ...
- linux ip命令和ifconfig命令
From https://blog.csdn.net/freeking101/article/details/68939059
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...