git&svn
Norton-JAVA工程师
android+java后端架构
展开
-
git简易指南
http://rogerdudler.github.io/git-guide/index.zh.html(原文)助你开始使用 git 的简易指南,木有高深内容,;)。Tweet作者:罗杰·杜德勒 感谢:@tfnico, @fhd and Namics其他语言 english, deutsch, español,français, italiano, nede转载 2013-07-16 14:07:27 · 953 阅读 · 0 评论 -
git 打补丁
使用git apply打补丁如果收到一个通过电邮发来的补丁,你应该先把它应用到特性分支上进行评估。有两种应用补丁的方法:git apply 或者 git am。使用 apply 命令应用补丁如果收到的补丁文件是用 git diff 或由其它 Unix 的 diff 命令生成,就该用 gitapply 命令来应用补丁。假设补丁文件存在 /tmp/patch-ruby-client.patch原创 2013-09-13 10:03:05 · 4557 阅读 · 0 评论 -
把一个非Git项目变成Git项目
个人笔记,未经验证git initgit add .git commit -am "initial commit"git remote add origin git@:project_locationgit push origin master原创 2013-07-22 22:11:25 · 1929 阅读 · 0 评论 -
恢复到原来某个版本
git reset --hard(此过程不可逆,回到修改之前的状态)直接回到某个版本我们现在切换到bra分支。git checkout bra然后用gitk看一下。可以看出,我们之前的操作,对bra分支一点影响也没有。现在我们需要把bra分支回复到初始状态,但是当前的改动的代码还是需要留着。我们可以看,init版本是当前版本的父节点的父节点。我们可以这么操作:g转载 2013-09-26 15:25:54 · 1486 阅读 · 0 评论 -
gitolite 错误汇总
remote: WARNING: keydir/xxx.pub does not contain exactly 1 line;这是因为pub文件里有一行多余的空白行,我的是在最后,删掉即可原创 2014-01-24 09:46:16 · 941 阅读 · 0 评论 -
error: src refspec master does not match any.
error: src refspec master does not match any.error: failed to push some refs to 'ssh:这是因为还没有把git add 新的文件,发生在新clone了一个系统,然后写了或copy了一些文件,但忘了commit,git不允许第一次提交为空。原创 2014-01-24 16:58:20 · 1994 阅读 · 0 评论 -
fatal: branch 'master' has not been signed
当我觉得某个.git的路径太长,我尝试把一个repo库里面的repo工具的内容换到另一个更短的.git下的路径,结果发现master不匹配。最后,只好还是用原来的那个路径了。原创 2014-01-27 10:26:57 · 8197 阅读 · 0 评论 -
repo镜像服务器搭建 思路
草草总结了下大体思路,可能有错漏和不清楚的地方,仅供参考:1.repo是基于git的脚本。要搭建repo服务器,得先有管理git的仓库。所以第一步的操作方法和git服务器一样,先搭建gitolite或者gitosis,gitolite的访问地址是ssh://开头的,gitosis好像不需要这个开头,直接hostname@IP_Address:/的形式访问。注意gitosis的相对路径以“:”开原创 2014-02-08 11:34:53 · 5303 阅读 · 0 评论 -
git checkout -f实例|Git打包压缩方法
像android一样的源码,一个源码就有10G,如果要想发送或者刻录,这么大的代码很难传输。因此,可以这样做:1.把工作目录下的.git复制一份。2.压缩这个.git文件夹。linux中可以tar -cjf .git 会打包成一个v名字的文件,把它重命名为git.bz2。3.发送给别人4.别人获得git.bz2后,解压缩,得到.git。5.在linux下看不到.开头的文件,因此原创 2013-09-11 17:46:52 · 8534 阅读 · 0 评论 -
gitosis push 出现 remote: AssertionErro的解决办法
from:http://kinglaw05.blog.163.com/blog/static/596833142011111352120883/2011-12-13 17:21:49| 分类:GIT |举报|字号 订阅今天修改了gitosis-admin工程后,push至服务器,出现以下错误:Counting objects: 5, done.De原创 2014-07-29 16:59:44 · 1095 阅读 · 0 评论 -
remote: FATAL: 'sdk/.repo/manifests/' ends with a '/'
因为gitolite下面放了非.git的文件,导致。删掉原创 2014-08-27 09:43:07 · 1519 阅读 · 0 评论 -
CONFLICT (content): Merge conflict in manifest.xml
在用repo sync的时候出现这个问题,删掉merge冲突,还是无法解决原创 2014-08-28 10:07:50 · 3543 阅读 · 0 评论 -
SVN代码管理经验
从网上下载了SVN代码,但没有权限commit,怎么办?1.先把下载的文件夹,用Export选项,导出来,导出的文件时一个普通的文件夹(没有任何SVN功能,会把“.”开头的文件都删掉)。2.新建一个文件夹,“create repository here”,做一个svn库,后续会以这个库为准,commit到这个本地库。右键,选择“repo-browser”,可以看到这个库有三个路径,trun原创 2014-11-10 17:56:33 · 772 阅读 · 0 评论 -
Android SDK的repo库编译错误
compilation terminated.make: *** [out/target/product/rk3188/obj/STATIC_LIBRARIES/crypto_crypto_gyp_intermediates/crypto/openssl_util.o] Error 1make: *** Waiting for unfinished jobs....原创 2014-10-27 16:02:05 · 1612 阅读 · 0 评论 -
git tag 给提交内容打标签
参考pro git 2.6总结的Add tag--Two way to add tag Light weight--only point to the commit COMMAND : git tag v1.0.0 Annotated COMMAND : git tag -a v1.0.0 -m 'nexus first bo原创 2013-09-13 09:45:44 · 1953 阅读 · 0 评论 -
patch补丁用法
第一步打开补丁文件(xxx.patch)看内容diff --git a/arch/arm.... b/arch/arm....你会看到如上的文字,表示补丁修改的路径。注意a和b是不必要的路径。而arch/arm是linux内核的路径,是必须的。 第二步输入命令如下,选项-p使用-p1,这样可以去掉路径中多余的a和b。patch -p1 错误排查:如果原创 2013-09-09 16:14:16 · 5895 阅读 · 0 评论 -
git format-patch 用法
第一种 format-path可以基于分支进行打包,也可以基于上几次更新内容打包。基于上几次内容打包git format-patch HEAD^ 有几个^就会打几个patch,从最近一次打起git format-patch HEAD^^ 最近的二个patch内容以下代码作用同上git format-patch -1 git format-patch -原创 2013-07-23 17:39:59 · 83915 阅读 · 0 评论 -
git pull更新错误解决办法
Your local changes to the following files would be overwritten by mergeerror: Your local changes to the following files would be overwritten by merge: protected/config/main.phpPlease, com转载 2013-07-01 11:08:37 · 66661 阅读 · 0 评论 -
ubuntu安装git server经验总结
持续更新原创 2013-07-18 11:31:12 · 1437 阅读 · 0 评论 -
git错误大汇总
1.Untracked working tree file 'external/broadcom/Android.mk' would be overwritten by merge. Aborting需要执行下面的命令才能修复: git reset --hard HEAD git clean -f -d git pull 2.Please, c原创 2013-07-15 15:31:38 · 18720 阅读 · 0 评论 -
git原理与实践知识索引——持续更新
本帖根据实践需求,对使用git server的知识进行分类,概述,作为大纲,以后遇到问题可以提高解决效率。具体解决办法会在链接中详述版本对比1.提供新版本代码更新的内容方法:可以用format-patchformat-path可以基于分支进行打包,也可以基于上几次更新内容打包。基于上几次内容打包git format-patch HEAD^ 有几个^就会打几原创 2013-07-04 11:01:30 · 1016 阅读 · 0 评论 -
GIT的特性
本文摘在Pro GitGIT的特性近乎所有操作都是本地执行在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。Git 基础那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的原创 2013-07-19 09:17:51 · 1197 阅读 · 0 评论 -
git untracked
转自pro git ,如果你遇到untracked file这个错误,不懂什么意思,就该看看pro git的这一章。了解git status和git add的多功能用途。记录每次更新到仓库现在我们手上已经有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝。接下来,对这些文件作些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。请记住,工作目录下面的转载 2013-07-19 15:06:06 · 17574 阅读 · 2 评论 -
Git常用命令
git log --pretty=oneline 每个commit内容只显示一行(oneline还可以改为short等)原创 2013-07-23 10:03:58 · 953 阅读 · 0 评论 -
Git分支比较 代码取舍 获取分支的共同祖先
现在特性分支上已合并好了贡献者的代码,是时候决断取舍了。本节将回顾一些之前学过的命令,以看清将要合并到主干的是哪些代码,从而理解它们到底做了些什么,是否真的要并入。一般我们会先看下,特性分支上都有哪些新增的提交。比如在 contrib 特性分支上打了两个补丁,仅查看这两个补丁的提交信息,可以用 --not 选项指定要屏蔽的分支 master,这样就会剔除重复的提交历史:$ gi转载 2013-07-24 17:05:08 · 4650 阅读 · 0 评论 -
Git分支笔记
1.Git 中的分支,其实本质上仅仅是个指向 commit 对象的可变指针。Git会使用 master 作为分支的默认名字。2.运行 git branch 命令,仅仅是建立了一个新的分支,但不会自动切换到这个分支中去,所以在这个例子中,我们依然还在 master 分支里工作3.要切换到其他分支,可以执行 git checkout 命令。4.当两个分支同时修改一个文件时候,会产生冲突。转载 2013-07-20 21:05:43 · 710 阅读 · 0 评论 -
git合并——衍合于挑拣(cherry-pick)——只合并某个commit
衍合与挑拣(cherry-pick)的流程一些维护者更喜欢衍合或者挑拣贡献者的代码,而不是简单的合并,因为这样能够保持线性的提交历史。如果你完成了一个特性的开发,并决定将它引入到主干代码中,你可以转到那个特性分支然后执行衍合命令,好在你的主干分支上(也可能是develop分支之类的)重新提交这些修改。如果这些代码工作得很好,你就可以快进master分支,得到一个线性的提交历转载 2013-07-24 17:28:37 · 5344 阅读 · 0 评论 -
Git发布 生成版本号 制作简报
转自pro git中文版生成内部版本号因为Git不会为每次提交自动附加类似’v123’的递增序列,所以如果你想要得到一个便于理解的提交号可以运行git describe命令。Git将会返回一个字符串,由三部分组成:最近一次标定的版本号,加上自那次标定之后的提交次数,再加上一段SHA-1值of the commityou’re describing$ git describe m转载 2013-07-25 09:08:26 · 4262 阅读 · 0 评论 -
git stash储藏未完成的工作
有时候,你还没完成工作,不想提交,但又有新任务,必须切换到另一个分支,就用stash“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。注意事项上面那句作用范围的定义,如果你的文件没add,即没有“被跟踪”和“暂存”,stash是不会帮你保存的。例如,我增加了两个文件Readme,readme转载 2013-07-25 11:03:41 · 7455 阅读 · 0 评论 -
git查看提交/工作日志/
1.git log --pretty=oneline显示简写的SHA-1$ git log --abbrev-commit --pretty=onelineca82a6d changed the verison number085bb3b removed unnecessary test codea11bef0 first commit2.分支引用指明一转载 2013-07-25 09:50:25 · 2318 阅读 · 0 评论 -
git 修改提交的说明
修改多个提交说明要修改历史中更早的提交,你必须采用更复杂的工具。Git没有一个修改历史的工具,但是你可以使用rebase工具来衍合一系列的提交到它们原来所在的HEAD上而不是移到新的上。依靠这个交互式的rebase工具,你就可以停留在每一次提交后,如果你想修改或改变说明、增加文件或任何其他事情。你可以通过给git rebase增加-i选项来以交互方式地运行rebase。你必须通过告诉命转载 2013-07-25 14:24:11 · 1672 阅读 · 0 评论 -
error: revision refs/heads/master in manifests not found
repository@sanshinGitServer:~/repositories/server$ .repo/repo/repo syncerror: revision refs/heads/master in manifests not found原创 2014-08-28 09:54:03 · 13044 阅读 · 0 评论