git 使用笔记(二)
续
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 使用笔记(二)的更多相关文章
- Git学习笔记 (二)
Git学习笔记(二) 突然发现,学习新知识新技能,都得经常温故使用,这样才能日益精进.最近学习的Git是因为加入了课题组,在学习做一些后台,由于后台开发会牵扯到多人开发,所以学会Git这一代码管理工具 ...
- Git学习笔记(二) 远程仓库及分支
添加远程仓库(以GitHub为例) 所谓的远程仓库,其实就和本地仓库一样,只是我们本地电脑可能会关机什么的.远程仓库的目的就是保证7*24小时开启状态.GitHub是一个很好的公共Git远程仓库(后面 ...
- git学习笔记二-branch分支
1.刚创建好的空仓库的分支是空的,即使是master分支也是不存在的.master分支是不能通过git branch 来创建的,只有在完成第一次提交才会自动创建,有git自动完成master分子的创建 ...
- Git学习笔记二--工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 简单理解: 我们使用mkdir Git在d盘下创建的文件夹,就是工作区,我们编辑readme.txt文件就是在工作区下完成的: gi ...
- Git 笔记二-Git安装与初始配置
git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...
- Git学习笔记(二) · 非典型性程序猿
远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- 《Pro Git》笔记3:分支基本操作
<Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...
随机推荐
- 飞思卡尔9S12X系列双核中的协处理器XGATE使用方法
http://adi.chinaaet.com/analog/blogdetail/24482.html
- jquery-migrate.js
这个插件可以用来检测和恢复在jQuery1.9版本中已删除或已过时的API.
- python导入自定义模块
上网查了下资料和自己实验了下,有几个方法: 1.如果导入的模块和主程序在同个目录下,直接import就行了 2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__ ...
- php ioc and web rest design
三个核心文件 1.公开访问web service配置 config.php 2.管理BEAN,扫描,注册,初始化等流程 ioc.php 3.管理 rest 拦载处理 ws.php config.php ...
- 【PRML读书笔记-Chapter1-Introduction】1.6 Information Theory
熵 给定一个离散变量,我们观察它的每一个取值所包含的信息量的大小,因此,我们用来表示信息量的大小,概率分布为.当p(x)=1时,说明这个事件一定会发生,因此,它带给我的信息为0.(因为一定会发生,毫无 ...
- POJ 3345 Bribing FIPA 树形DP
题目链接: POJ 3345 Bribing FIPA 题意: 一个国家要参加一个国际组织, 需要n个国家投票, n个国家中有控制和被控制的关系, 形成了一颗树. 比如: 国家C被国家B控制, 国 ...
- codeforce Number of Ways(暴力)
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...
- Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)
原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...
- 调用Ajax返回500错误的解决方法
看代码: public ActionResult UserLogin(LogOnModel model) { #region 验证码验证 #endregion OperationResult resu ...
- 【转载】debian上快速搭建ftp
转载自:http://suifengpiaoshi.diandian.com/post/2012-05-05/17955899 搭建ftp 包括搭建ftp服务器和ftp客户端 本文以debian上搭建 ...