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. Rsync 详细配置说明

    rsync是类unix系统下的数据镜像备份工具. 它的特性如下:可以镜像保存整个目录树和文件系统.可以很容易做到保持原来文件的权限.时间.软硬链接等等.无须特殊权限即可安装.快速:第一次同步时 rsy ...

  2. Jconsole加载Jtop插件

    Jconsole加载Jtop插件http://automationqa.com/forum.php?mod=viewthread&tid=3719&fromuid=2

  3. Oracle 行转列总结 Case When,Decode,PIVOT 三种方式 - 转

    最近又碰到行专列问题了,当时不假思索用的是子查询,做完后我询问面试管行专列标正的写法应该如何写,他告诉我说应该用"Decode",索性我就总结一下,一共三种方式 --======= ...

  4. Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...

  5. [Z]CS权威会议

    CS Conference TOP 40 计算机会议TOP40 一.A 类 15 个 ASPLOS: Architecture Support for Programming Languages an ...

  6. Android那些事儿之LBS定位,实践测试lbs

    最近一朋友让我了解下安卓LBS获取位置信息,于是动手实践了一把.搜了一圈发现有篇博文可以参考:Android那些事儿之LBS定位,但是原文作者没有提供源码下载,于是动手实现了,现记录下来备忘,代码附在 ...

  7. Windows 7远程桌面连接Ubuntu 16.04

    转自:http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html 从Windows 7远程到Windows系统比较简单,只要对方电脑开 ...

  8. netty 学习

    示例 : wikit http://netty.io/wiki/index.html 书 : netty in action http://blog.csdn.net/abc_key/article/ ...

  9. C#基础课程之六(临时表)DataTable使用方法

    DataTable 用法:赋取值操作,及报错情况 dataTable.Columns.Add("Name"); //Columns 对象获取该集合的全部列,添加列名. 默认stri ...

  10. 菜鸟学Windows Phone 8开发(1)——创建第一个应用程序

    本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 主要是想通过翻译本系列文章来巩固下基础知识顺带学习下英语和练习下自己的毅力(因为打算每天翻译一篇,但是发现翻译这篇花费了 ...