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数据存储结构和 ...
随机推荐
- 再也不必当心我的密码了,多个SAP 客户端自动输入密码
再也不必当心我的密码了,多个SAP 客户端自动输入密码问题: 通常对于OFFICE人员来说,一天有很多的密码,OA密码,多个ERP密码,邮箱密码,代理密码等等,还经常60天过期之类,实在是焦头烂额. ...
- SVN: bdb: BDB1538 Program version 5.3 doesn't match environment version 4.7
Q:bdb: BDB1538 Program version 5.3 doesn't match environment version 4.7 A: svnadmin recover /var/wh ...
- Domain Space
Bluehost Register Page http://www.bluehost.com/track/weipengp
- IOS内存管理学习笔记
内存管理作为iOS中非常重要的部分,每一个iOS开发者都应该深入了解iOS内存管理,最近在学习iOS中整理出了一些知识点,先从MRC开始说起. 1.当一个对象在创建之后它的引用计数器为1,当调用这个对 ...
- IOS实现中间凸起圆形TabBar
中间凸起的圆形TabBar曾经比较流行,类似于闲鱼之类的APP就使用了中间凸起TabBar,这两天自己动手实现了一个,效果图如下: 大致原理:重写UITabBar和UITabBarController ...
- POJ 1186 方程的解数
方程的解数 Time Limit: 15000MS Memory Limit: 128000K Total Submissions: 6188 Accepted: 2127 Case Time ...
- maven eclipse jetty debug
可以通过查看最近版本: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server http://search.maven.org ...
- CSS HACK 及常见问题
一.CSS常用hack 1.方式一:条件注释法 这种方式是IE浏览器专有的Hack方式,微软官方推荐使用的hack方式.举例如下 只在IE下生效 <!--[if IE]> 这段文字只在IE ...
- easyui datagrid to excel
$.extend($.fn.datagrid.methods, { toExcel: function(jq, filename){ return jq.each(function(){ var ur ...
- Python Django 开发 3 数据库CURD
上一篇表建好后开始对数据进行CURD操作 dos输入: >>>python manage.py shell 以下的命令都是在shell中测试 (C)增: >>>im ...