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. X509证书中RSA公钥的提取与载入

    原文链接: http://blog.chinaunix.net/uid-16515626-id-2741894.html   由于项目需要,我计划利用openssl开发一个基本的CA,实现证书的发放等 ...

  2. 【Cocos2d-Js基础教学(7)界面UI更新方法(会用到第三方类库)】

    我们游戏中会遇到很多UI更新的时候,大部分时候我们会remove该节点,再重新绘制的方法来进行UI更新. 但是这种更新效率并不高,这里我推荐大家一个第三方的库,来通过注册更新的方式来对UI进行更新管理 ...

  3. [AX]AX2012 Number sequence framework :(三)再谈Number sequence

    AX2012的number sequence framework中引入了两个Scope和segment两个概念,它们的具体作用从下面序列的例子说起. 法国/中国的法律要求财务凭证的Journal nu ...

  4. Asus ubuntu Fn恢复

    sudo sed 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="qui ...

  5. jQuery easyui 之 expend row

    http://www.jeasyui.com/tutorial/datagrid/datagrid21.php

  6. IIS+PHP+MYSQL安装配置

    首先下载php-5.2.0-win32.zip,mysql-noinstall-5.0.22-win32.zip和phpMyAdmin-2.9.1.1-all-languages.zip.这三个文件的 ...

  7. iOS 模拟器键盘弹出以及中文输入

    1.虚拟键盘的弹出与收起切换: 快捷键:command+shift+K 2.中文输入: Xcode 菜单项 --> Product --> Scheme --> Edit Schem ...

  8. golang 图片处理,剪切,base64数据转换,文件存储

    本文主要介绍: 1. 图片文件的读写. 2. 图片在go缓存中如何与base64互相转换 3. 图片裁剪 本文中,为了方便查看,去掉所有错误判断 base64 -> file ddd, _ := ...

  9. Unity3D 角色(物体) 移动方法 合集

    1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  10. IP Failover Setup using Keepalived on CentOS/Redhat 6

    source url:http://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat-6/ Keepalived is ...