续

2.15 删除文件

$ rm testDel.txt删除掉工作区的testDel.txt文件,

1)这时可以通过git checkout -- testDel.txt从版本库恢复该文件到工作区

2)确实要删除它, 可以使用 git rm testDel.txt,  然后提交git commit -m 'info'

3) 如果删除了,并且提交了,再用checkout -- filename就找不到文件了,

只能通过版本号还原 git reset --hard 0581460, 再 git checkout -- filename, 同步到工作区

2.16 远程仓库 操作

1)创建ssh key

  $ ssh-keygen -t -rsa -C "myemail@email.com"

2) 登陆github账号

将id_rsa.pub文件的内容复制到SSH keys页面的相应位置, 然后Add keys

  

  

2.17 添加远程库

1) 在github上创建一个空的仓库work

将本地的work仓库和远程的work仓库关联 git remote add testwork git@github.com:yilifighter/work.git

将本地仓库的master版本推送到git  git push -u testwork master

(第一次加-u起关联作用,以后不需要)简化为

git push testwork master

git push -fu testwork master可以强制覆盖远程的master分支

2.18 远程克隆

1)使用ssh支持的git协议

git clone git@github.com:yilifighter/ImgServerPro.git

2) 使用https协议

git clone https://github.com/yilifighter/second_github_project

3) 指定地址 克隆

git clone git@github.com:yilifighter/second_github_project.git 'c:\work\second_github_project'

指定的目录应为空

2.19 分支

1)创建分支git branch dev

2) 检出(切换)分支git checkout dev

3)创建并检出分支 git checkout -b dev

4)查看分支 git branch

在新分支上创建文件newBranchFile.txt,并提交

 

切换分支 git checkout master

(查看当前分支master, newBranchFile.txt文件不在)

5)合并分支 git merge dev

该命令合并指定分支(dev)到当前分支(master)

(再查看当前分支文件, newBranchFile出现)

 6)删除分支 git branch -d dev

(dev当前分支名)  

  

 2.20 解决冲突

  1)创建新的分支branch2,修改newBranchFile.txt文件并提交

2) 切换到master分支,再次修改newBranchFile.txt文件并提交

此时合并分支,出现冲突

3)查看冲突的文件

git status

  4) 查看合并情况

git log --graph --pretty=oneline --abbrev-commit

5) 删除分支

2.21 分支管理

  Fast forward 模式在删除分支后会丢失分支信息

--no-ff 禁用Fast forward模式,会在提交时生成一个commit,则可以看到分支信息

查看日志

master分支是稳定版本,一般用来发布新版本, 平时不在上面干活,

小伙伴们平时都在dev分支上干活,都有自己的分支, 再合并到dev

2.22 Bug分支

  当在dev分支上进行开发时, 如果需要修改master分支上的bug,怎么办?

直接切换到master分支上,不行  

而dev一时半会开发不完,不能提交,合并

如上提示中所说, 需要stash保存当前工作现场

  

此时用git status查看,当前分支是干净的,就像回到刚创建并切换分支的状态

  然后创建并切换到bug-1分支,解决bug并提交

合并bug-1分支,并删除之

用git stash list查看工作现场

恢复现场,并删除现场

方式一:

git stash apply; git stash drop.

 方式二:

git stash pop

 可以通过git stash apply stash@{num} 来恢复指定的stash

删除现场

git 使用笔记(二)的更多相关文章

  1. Git学习笔记 (二)

    Git学习笔记(二) 突然发现,学习新知识新技能,都得经常温故使用,这样才能日益精进.最近学习的Git是因为加入了课题组,在学习做一些后台,由于后台开发会牵扯到多人开发,所以学会Git这一代码管理工具 ...

  2. Git学习笔记(二) 远程仓库及分支

    添加远程仓库(以GitHub为例) 所谓的远程仓库,其实就和本地仓库一样,只是我们本地电脑可能会关机什么的.远程仓库的目的就是保证7*24小时开启状态.GitHub是一个很好的公共Git远程仓库(后面 ...

  3. git学习笔记二-branch分支

    1.刚创建好的空仓库的分支是空的,即使是master分支也是不存在的.master分支是不能通过git branch 来创建的,只有在完成第一次提交才会自动创建,有git自动完成master分子的创建 ...

  4. Git学习笔记二--工作区和暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 简单理解: 我们使用mkdir Git在d盘下创建的文件夹,就是工作区,我们编辑readme.txt文件就是在工作区下完成的: gi ...

  5. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  6. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  7. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  9. 《Pro Git》笔记3:分支基本操作

    <Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...

随机推荐

  1. iOS 基础复习

    silverlight知识点:linqToSQL.视图.存储过程.索引.触发器 数据结构:数组.栈.队列.链表.属.图. 排序算法:插入.选择.交换(冒泡).归并 网络开发:HTTP短连接.socke ...

  2. MMO之禅(二)职业精神

    MMO之禅(二)职业精神 --心态 目标 信仰 Zephyr 201304 继续上篇,继续讲什么?打了很多腹稿点滴,从引擎架构,到上层数据.逻辑模块规划,想了很多,临起笔,却总发觉四顾心茫然,乱不可言 ...

  3. 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByTagName

    按照标签名获取元素 -- getElementsByTagName 标准 DOM 1在Element和Document两个interface中均有定义,原型NodeList getElementsBy ...

  4. ionic介绍

    ionic介绍 Ionic是一个前端的框架,帮助开发者使用HTML5, CSS3和JavaScript做出原生应用. The beautiful, open source front-end fram ...

  5. 惊涛怪浪(double dam-break) -- position based fluids

    切入正题之前,先胡说八道几句.    据说爱因斯坦讲过:关于这个世界最难以理解的就是它是可以被理解的.人类在很长的时间里,都无法认知周围变幻莫测的世界,只能编造出无数的神祗来掌控世上万物的运行.到了近 ...

  6. MyBatis XML 映射配置文件

    配置文件的基本结构 configuration —— 根元素 properties —— 定义配置外在化 settings —— 一些全局性的配置 typeAliases —— 为一些类定义别名 ty ...

  7. 个人对joomla3.2x和joomla2.5X浅薄看法

    很久没有写joomla文章了,发现想写的东西还是挺多的,后面抽时间补回来,其实更多还是php的一些东西.joomla3.0以后系统改变挺大,后台都是用bootstrap作为主题,个人对这个无爱,因为他 ...

  8. [IR] Boolean retrieval

    How to build Inverted Index? 1. Token sequence. 2. Sort by terms. 3. Dictionary & Postings code ...

  9. 剑指架构师系列-tomcat6通过伪异步实现connector

    首先在StandardService中start接收请求的线程,如下: synchronized (connectors) { for (int i = 0; i < connectors.le ...

  10. [linux]执行pip安装的程序:command not found

    执行pip安装的程序:command not found 问题描述: 我有一台阿里云服务器,上面装的是centos系统,我用pip安装好vituralenv,都没办法直接启动.同样 我今天在部署我的t ...