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作为代码管理仓库时,要注意自己的更新不能冲掉别人的更新,因为自己一开始不了解的时候就出现了这种情况.首先一定要 ...
随机推荐
- Oracle中对XMLType的简单操作(extract、extractvalue...)
Oracle中对XMLType的简单操作(extract.extractvalue...) 1.下面先创建一个名未test.xml的配置文件. <?xml version="1. ...
- OI养老专题01:约瑟夫问题
有M个人,其编号分别为1-M.这M个人按顺序排成一个圈.现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人 ...
- Java基础(运算符)
Java中的运算符: 算术运算符:+ - * / % ++ -- %运算符叫取模:它就是取余的例如:43%7=1 其他的都是和数学里的运算符一样(不过在字符串中如果是两个字符串 ...
- Vue组件的定义、注册和调用
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>组 ...
- linux下列出所有连接到你的Server的IP地址
linux下列出所有连接到你的Server的IP地址 最近要做一个检查所有连接到主机的IP的脚本,google到一篇老外写的文章 <List all IP addresses connected ...
- AtomicStampedReference源码分析
public class Snippet { //修改的是AtomicStampedReference对象里面的值了. public static void main(String[] args) { ...
- C语言输出
转自:https://blog.csdn.net/u014647208/article/details/53337315 int PrintVal = 9; /*按整型输出,默认右对齐*/ print ...
- Docker初始
如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...
- 使用nginx代理kibana并配置登录验证
由于kibana不支持登录验证,谁都可以访问,放到公网就不合适了,这里配置用nginx进行代理: 生成密码文件 如果安装了httpd可以用htpasswd,比较方便: htpasswd -c /roo ...
- 算法(第四版)C# 习题题解——3.1
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更方便的版本见:https ...