代码改变世界

随笔分类 - git

你所需要知道的一些git 的使用命令:历史

2013-04-15 16:49 by Terry_龙, 4019 阅读, 收藏, 编辑
摘要:== 关于历史 ==Git分布式本性使得历史可以轻易编辑。但你若篡改过去,需要小心:只重写你独自拥有的那部分。正如民族间会无休止的争论谁犯下了什么暴行一样,如果在另一个人的克隆里,历史版本与你的不同,当你们的树互操作时,你会遇到一致性方面的问题。一些开发人员强烈地感觉历史应该永远不变,不好的部分也不变所有都不变。另一些觉得代码树在向外发布之前,应该整得漂漂亮亮的。Git同时支持两者的观点。像克隆,分支和合并一样,重写历史只是Git给你的另一强大功能,至于如何明智地使用它,那是你的事了。=== 我认错 ===刚提交,但你期望你输入的是一条不同的信息?那么键入:$ git commit --ame 阅读全文

你所需要知道的一些git 的使用命令:Git大师

2013-03-19 15:31 by Terry_龙, 10072 阅读, 收藏, 编辑
摘要:=== 源码发布 ===就我的项目而言,Git完全跟踪了我想打包并发布给用户的文件。创建一个源码包,我运行:$ git archive --format=tar --prefix=proj-1.2.3/ HEAD=== 提交变更 ===对特定项目而言,告诉Git你增加,删除和重命名了一些文件很麻烦。而键入如下命令会容易的多:$ git add .$ git add -uGit将查找当前目录的文件并自己算出具体的情况。除了用第二个add命令,如果你也打算这时提交,可以运行`git commit -a`。关于如何指定应被忽略的文件,参见 *githelp ignore* 。你也可以用一行命令完成以 阅读全文

你所需要知道的一些git 的使用命令:Git的缺点

2013-03-18 13:14 by Terry_龙, 3161 阅读, 收藏, 编辑
摘要:=== SHA1 的弱点 ===随着时间的推移,密码学家发现越来越多的SHA1的弱点。已经发现对对资源雄厚的组织哈希冲撞是可能的。在几年内,或许甚至一个一般的PC也将有足够计算能力悄悄摧毁一个Git仓库。希望在进一步研究摧毁SHA1之前,Git能迁移到一个更好的哈希算法。=== 微软 Windows ===Git在微软Windows上可能有些繁琐:- http://cygwin.com/[Cygwin] ,, 一个Windows下的类Linux的环境,包含一个 http://cygwin.com/packages/git/[ 一个Git在Windows下的移植].- http://code.g 阅读全文

你所需要知道的一些git 的使用命令:克隆

2013-03-13 10:44 by Terry_龙, 12910 阅读, 收藏, 编辑
摘要:在较老一代的版本控制系统里,checkout是获取文件的标准操作。你将获得一组特定保存状态的文件。在Git和其他分布式版本控制系统里,克隆是标准的操作。通过创建整个仓库的克隆来获得文件。或者说,你实际上把整个中心服务器做了个镜像。凡是主仓库上能做的事,你都能做。=== 计算机间同步 ===我可以忍受制作tar包或利用rsync来作备份和基本同步。但我有时在我笔记本上编辑,其他时间在台式机上,而且这俩之间也许并不交互。在一个机器上初始化一个Git仓库并提交你的文件。然后转到另一台机器上:$ git clone other.computer:/path/to/files以创建这些文件和Git仓库的 阅读全文

你所需要知道的一些git 的使用命令:分支

2013-03-11 15:38 by Terry_龙, 4953 阅读, 收藏, 编辑
摘要:即时分支合并是Git最给力的杀手锏。*问题* :外部因素要求必须切换场景。在发布版本中突然蹦出个严重缺陷。某个特性完成的截至日期就要来临。在项目关键部分可以提供帮助的一个开发正打算离职。所有情况逼迫你停下所有手头工作,全力扑到到这个完全不同的任务上。打断思维的连续性会使你的生产力大大降低,并且切换上下文也更麻烦,更大的损失。使用中心版本控制我们必须从中心服务器下载一个新的工作拷贝。分布式系统的情况就好多了,因为我们能够在本地克隆所需要的版本。但是克隆仍然需要拷贝整个工作目录,还有直到给定点的整个历史记录。尽管Git使用文件共享和硬链接减少了花费,项目文件自身还是必须在新的工作目录里重建。*方案 阅读全文

你所需要知道的一些git 的使用命令:基本技巧

2013-03-08 14:34 by Terry_龙, 3652 阅读, 收藏, 编辑
摘要:与其一头扎进Git命令的海洋中,不如来点基本的例子试试手。它们简单而且实用。实际上,在开始使用Git的头几个月,我所用的从来没超出本章介绍的内容。=== 保存状态 ===要不来点猛的?在做之前,先为当前目录所有文件做个快照,使用:$ git init$ git add .$ git commit -m "My first backup"现在如果你的编辑乱了套,恢复之前的版本:$ git reset --hard再次保存状态:$ git commit -a -m "Another backup"=== 添加、删除、重命名 ===以上命令将只跟踪你第一次运行 阅读全文