随笔分类 - Git
摘要:看一个开源项目中有个.gitkeep文件,不知道是干嘛用的查询知道git是不允许提交一个空的目录到版本库上的,可以在空的文件夹里面建立一个.gitkeep文件,然后提交去即可。其实在git中 .gitkeep 就是一个占位符。可以用其他 比如 .nofile等文件作为占位符。 看一个开源项目中有个.
阅读全文
摘要:英文原文:http://www.nvie.com/posts/a-successful-git-branching-model/ 原文作者:Vincent Driessen 本文经Linux大棚博主总结精简而成。 1 GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议
阅读全文
摘要:Git管理工具对比(GitBash、EGit、SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐。 EGit是Eclipse的Git插件,最为纠结的一个软件,因为开发时直操作很方便,尤其是有svn开发情节的人更
阅读全文
摘要:查看原文GitLab vs. GitHub: How Are They Different? 两者都是基于web的Git repositories(仓库),拥有流水线型的web开发流程,它们为开发团队存储、分享、发布、测试和合作web开发项目提供了中心化的、云存储的场所。Git版本控制——对于多人共
阅读全文
摘要:git revert 是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留 git reset 是回到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区 具体一个例子,假设有三个commit, git st: commit3: add test3.c
阅读全文
摘要:Git merge是用来合并两个分支的。 git merge b git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 他们的 原理 如下: 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。 $ git check
阅读全文
摘要:自己初次接触GitLab,通过百度和自己查找资料,了解了一部分。在自己的工作中,主要用到GitLab的Wiki文档版本管理能力。我总结了一小部分文本编辑需要用到的东西。 一、文本的排版 为了让文本/文档的结构清晰明了,我们需要一下标题结构和文本格式。Wiki 主要的文本编辑语法用到的是Markdow
阅读全文
摘要:统计某人的代码提交量,包括增加,删除:git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } EN
阅读全文
摘要:原文: http://gitbook.liuhui998.com/7_5.html 一、打包文件索引 首先, 我们来看一下打包文件索引, 基本上它只是一系列指向打包文件内位置的书签. 打包文件索引有两个版本. 版本1的格式用于Git 1.6版本之前, 版本2的格式用于Git 1.6及以后的版本. 但
阅读全文
摘要:原文:http://gitbook.liuhui998.com/1_2.html 一、SHA 在git中,所有用来表示项目历史信息的文件,是通过一个40个字符的(40-digit)“对象名”来索引的,对象名看起来像这样: 6ff87c4664981e4397625791c8ea3bbb5f2279a
阅读全文
摘要:原文: http://gitbook.liuhui998.com/7_4.html git中的索引(index)是一个存放了排好序的路径的二进制文件(通常是.git/index), 每一个条目都附带有一个块对象的SHA1值以及访问权限; git ls-files可以显示出索引的内容: $ git l
阅读全文
摘要:原文: http://gitbook.liuhui998.com/7_3.html git中,分支(branch), 远程跟踪分支(remote-tracking branch)以及标签(tag)都是对提交的引用. 所有的引用是用"refs"开头, 以斜杠分割的路径. 到目前为此, 我们用到的引用名
阅读全文
摘要:原文:http://gitbook.liuhui998.com/7_1.html 一、前言 所有的对象都以SHA值为索引用gzip格式压缩存储, 每个对象都包含了对象类型, 大小和内容. Git中存在两种对象 - 松散对象(loose object)和打包对象(packed object). 二、松
阅读全文
摘要:原文:http://gitbook.liuhui998.com/7_2.html 如果在阅读本文之前,你还不知道git是如何进行存储的,请先阅读《Git是如何存储对象的》。 我们可以使用cat-file命令去查询特定对象的信息. 注意下面只键入了SHA值的一部分, 不必把40个字符全部键入: $ g
阅读全文
摘要:原文:http://gitbook.liuhui998.com/6_5.html Git有不少图形化界面工具用于读取和维护仓库. 捆绑的GUI Git自带了两个使用Tcl/Tk写成的GUI程序. Gitk是一个仓库浏览器, 也是一个历史信息可视化工具. gitk git gui是一个帮助你可视化索引
阅读全文
摘要:本文转载自:http://gitbook.liuhui998.com/5_9.html 译者注: 原书这里只有两个链接: Recovering Lost Commits Blog Post,Recovering Corrupted Blobs by Linus 我根据第一个链接,整理了一篇博文,并把
阅读全文
摘要:本文编辑整理自: http://sg552.iteye.com/blog/1300713 http://web.mit.edu/bitbucket/git-doc/git-cherry-pick.txt git cherry-pick用于把另一个本地分支的commit修改应用到当前分支。 实际问题
阅读全文
摘要:本文整理编辑自: http://www.cnblogs.com/y041039/articles/2411600.html http://yuxu9710108.blog.163.com/blog/static/2375153420101114488765/ 一、前言 UNIX世界的软件开发大多都是
阅读全文
摘要:原文:http://gitbook.liuhui998.com/5_4.html 假设你在项目的'2.6.18'版上面工作, 但是你当前的代码(master)崩溃(crash)了. 有时解决这种问题的最好办法是: 手工逐步恢复(brute-force regression)项目历史, 找出是哪个提交
阅读全文
摘要:原文: http://gitbook.liuhui998.com/5_5.html 如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [filename]', 你就会得到整个文件的每一行的详细修改信息:包括SHA串,日期和作者: 译者注:
阅读全文