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. IIS7 php wordpress 中文url 标签tag中文URL404解决方法

    新建重写规则: <rule name="ChineseURL" stopProcessing="true"> <match url=" ...

  2. Oracle数据库入门——初级系列教程

  3. python2.7.6 , setuptools pip install, 报错:UnicodeDecodeError:'ascii' codec can't decode byte

    今天折腾了一天,安装pyspider,由于依赖包众多,而且搜索到所有信息多是在linux平台和mac平台下的安装教程.可怜我试了n多版本,一直不成功. 最后发现有人说python的版本,不能低于2.7 ...

  4. iOS 7新功能例子

    参考https://github.com/shu223/iOS7-Sampler Code examples for the new functions of iOS 7. Contents Dyna ...

  5. HIVE: Transform应用实例

    数据文件内容 steven:100;steven:90;steven:99^567^22 ray:90;ray:98^456^30 Tom:81^222^33 期望最终放到数据库的数据格式如下: st ...

  6. 字符集与Mysql字符集处理(二)

    接着上篇文章继续讲字符集的故事.这一篇文章主要讲MYSQL的各个字符集设置,关于基础理论部分,参考于这里.   1. MYSQL的系统变量 – character_set_server:默认的内部操作 ...

  7. SuperSocket 1.6.4 通过FixedHeaderReceiveFilter解析自定义协议

    SuperSocket 提供了一些通用的协议解析工具, 你可以用他们简单而且快速的实现你自己的通信协议: TerminatorReceiveFilter (SuperSocket.SocketBase ...

  8. Maven进价:Maven构建系列文章

    Maven:基于Java平台的项目构建.依赖管理和项目信息管理. 1.构建 Maven标准化了构建过程 构建过程:编译.运行单元测试.生成文档.打包和部署 避免重复:设计.编码.文档.构建 2.依赖管 ...

  9. Hadoop入门进阶课程9--Mahout介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  10. iOS-动画效果(首尾式动画,代码快动画,核心动画,序列帧动画)

    一.各个动画的优缺点 1.首尾动画:如果只是修改空间的属性,使用首尾动画比较方便,如果在动画结束后做后续处理,就不是那么方面了. 2.核心动画:有点在于对后续的处理方便. 3.块动画: (1)在实际的 ...