Pragmatic Version Control Using Git(笔记)
Pragmatic Version Control Using Git
- git config --global user.name "Travis Swicegood"
- git config --global user.email "development@domain51.com"
- git config --global --list
- git config --global color.ui "auto"
- cd mysite && git init
- git commit -m "add in hello world HTML" //SHA1哈希
- git branch RB_1.0 master //创建分支
- git checkout RB_1.0 //??似乎没有到另外一个目录??我个人怀疑这样做的效率(不过,也许Linux的ext3文件链接处理起来比较方便?)
- git tag 1.0 RB_1.0 //tag:标记一个特殊的时间点。。。
- rebase:合并分支上的修改到主线
- git checkout master
- git rebase RB_1.0 //试图replay所有变更。。。
- git branch -d RB_1.0 //一旦合并到主线,则可以删除掉分支
- 但是,删除了分支后怎么恢复呢?可以从tag:git branch RB_1.0.1 1.0 这只是为了fix特定状态发布的补丁
- git log --pretty=oneline
- git archive --format=tar --prefix=mysite-1.0/ 1.0 | gzip > mysite-1.0.tar.gz
- git clone git://github.com/tswicegood/mysite.git mysite-remote //远程仓库
- git add -i //交互模式?
- git add -p //导出patch文件(这个比较赞,其他svn、hg都没见过这么方便的)
- 显示差异 (1)what's in your working tree, (2)what's staged and ready to be committed, and (3)what's in your repository:git diff |--cached|HEAD
- add .*.swp to the .gitignore ...
- 分支重命名:git branch -m old new
- One of the hardest parts of branches is figuring out when to create a branch. It’s an art, not a science
- Experimental changes
- New features
- Bug fixes
- checkout -b(创建新分支同时checkout)
- Merging:(注意,merge后还需要提交!)
- Straight merge:合并2个分支:在主线上执行git merge branch即可
- Squashed commits:压缩分支上的多个提交,转换为另一个上的单个提交(?),git merge --squash branch
- Cherry-picking:直接将一个分支上的一个提交送到另一个分支上(这个太酷了,mecurial好象不支持~~)git cherry-pick 321d76f(分支上的commit编号)
- -n选项:to do the merge but stop before creating a commit
- git reset --hard HEAD^
- 查看历史:git log(可以追加额外的参数指定范围,略)
- 追踪特定文件中行的变更情况:git blame -L 12,13 hello.html //注意:可以12,+2或13,-2描述(微型语法~~)
- revert:重写历史... Break one commit into multiple commits??
- git fetch:保持与远程仓库up-to-date
- git branch -r
- git push
- git diff:查看2个版本之间的修改情况(显示为一个差分提交,这个功能Mercurial/Hg是没有的,SVN可以做出比较),而git log将显示所有提交的历史
- Beyond the Basics(略):
- git gc:Compacting your repository history
- git archive:Exporting your repository
- git rebase:Rebasing a branch's history against its parent
- Using the reflog to fix your repository
- Bisecting your repository to find what change introduced a bug
Pragmatic Version Control Using Git(笔记)相关推荐
- xcode svn commit is not under version control 和 git常用指令
使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...
- 代码版本控制[version control]之Git
如何多人协同开发同一个项目? 使用代码版本控制[version control]软件, 目前市面上比较流行的代码版本控制器有: git,svn,csv 1. 使用git管理代码版本 本项目使用git管 ...
- git 32位_完整的GIT笔记 快速上手小白教程
GIT 是什么? Git 是目前世界上最先进的分布式版本控制系统.并且它是一个免费的.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 什么是版本控制系统 版本控制是一种系统,它跟踪一 ...
- Introduction of Version Control/Git, SVN
Introduction of Version Control/Git, SVN 什么是版本控制? 你可以把一个版本控制系统(缩写VCS)理解为一个"数据库",在需要的时候,它可以 ...
- Twelfth4: Deploy Git version control system optimize Web server | Cloud computing
云计算专题目录 Catalogue | Cloud computing Twelfth4: Deploy Git version control system & optimize Web s ...
- 【Git笔记1】本地项目与GitHub远程仓库互联
秋招面试的时候,面试官就问了我:你会Git吗?我迟疑看着他,他微笑着说,入职前要抓紧时间好好学习一下. 由于地理位置优势先来公司熟悉下环境,咨询算法组组长入职前可以做些什么准备?组长说,Git要好好学 ...
- 【Git笔记2】必知习惯和如何版本回退
良好的习惯会让工作和生活如鱼得水,在使用git的时候有些必知习惯和概念你要get一下,总有些许失误,如:已经提交了不合适的修改到版本库时还没有把自己的本地版本库推送到远程,想要撤销本次提交,或者已经p ...
- Git笔记(1) 版本控制
Git笔记(1) 版本控制 1. 关于版本控制 2. 本地版本控制系统 3. 集中式版本控制系统 4. 分布式版本控制系统 1. 关于版本控制 版本控制是一种记录一个或若干 文件内容变化,以便将来 查 ...
- version control(版本控制)
版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的 ...
最新文章
- 科普:进入内核态究竟是什么意思?
- 阿里取消“361”绩效考核,是打工人的福报吗?
- 入门大爆炸式发展的深度学习,你先要了解这4个最流行框架
- Sql PATINDEX 函数
- java实现下载压缩文件_java实现文件压缩下载----压缩下载zip
- LNMP1.3 一键配置环境,简单方便
- C#操作DataReader类
- JerseyTest
- MONGODB 与sql聚合操作对应图
- MySQL为啥不用平衡二叉树_MySQL的索引,为什么是B+而不是平衡二叉树
- 使用百度地图API进行Android地图应用开发(Eclipse)
- 【解题报告】Kattis - adjoin 树形dp
- 老子是一个怎样的传奇!(转发)
- 【Matlab系列】MATLAB中显示输出数据的四种方式
- 怎样清除bios密码
- 2021年京东撸货还能做吗?轻松实现利益最大化,新手必看!
- (从完全入门开始)思科模拟器创建校园网,第一次写博客
- 服务应用执行可疑命令
- android 微信支付返回XML格式数据的解析方法
- 小狼毫(RIME)输入法引擎