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数据存储结构和 ...
随机推荐
- Winform 数据库连接app.config文件配置 数据库连接字符串
1.添加配置文件 新建一个winform应用程序,类似webfrom下有个web.config,winform下也有个App.config;不过 App.config不是自动生成的需要手动添加,鼠标右 ...
- Tomcat and solr 环境配置
Tomcat and solr tomcat 安装 下载安装tomcat8.0 http://tomcat.apache.org/download-80.cgi wget http://apache. ...
- SAP顾问发展
关于SAP顾问发展的话题也不仅仅是一次的谈起,但是我想对于自己的规划很多人是否有没有深刻的考虑过.这对于你我来说都非常的重要,那么作为我来说,我仅仅把自己的观点阐述以供大家思考,希望对大家能有所帮助. ...
- CLR VIA
标题 状态 内容 什么是CLR? 什么是托管模块? 托管模块由什么组成? .net代码的执行过程 http://www.cnblogs.com/aaa6818162/p/4726581.ht ...
- Window中调试HBase问题小结
1.好久没用log4j了,转到logback好多年了,hbase程序运行时,报缺少log4j配置,那么,就转去logback吧(以下的XXX表示版本号). 原先lib包里面有log4j-XXX.jar ...
- ODAC (V9.5.15) 学习笔记(二十)大数据量获取处理
ODAC获取数据的效率比较高,在Web程序中希望能够更快获取第一页的数据时,可以有几种方式: 1.在数据库中进行分页处理: 2.获取所有数据,只是快速返回第一页数据. 第一种方案对应用服务器资源消耗最 ...
- iOS 数据持久化(扩展知识:模糊背景效果和密码保护功能)
本篇随笔除了介绍 iOS 数据持久化知识之外,还贯穿了以下内容: (1)自定义 TableView,结合 block 从 ViewController 中分离出 View,轻 ViewControll ...
- 各种UserAgent的列表
User Agent是浏览器用于 HTTP 请求的用户代理头的值.更换User Agent能更好的模拟出不同的系统和浏览器信息. Android Name User Agent Nexus 7 (Ta ...
- adb permission denied
1.没有得到root权限,可以用刷机精灵一键root. 2.root不彻底,手机安装超级adbd,即可.
- 【软件分析与挖掘】A Comparative Study of Supervised Learning Algorithms for Re-opened Bug Prediction
摘要: 本文主要是评估多种监督机器学习算法的有效性,这些算法用于判断一个错误报告是否是reopened的,算法如下: 7种监督学习算法:kNN,SVM, SimpleLogistic,Bayesian ...