w1100n
This site is best viewed in Google Chrome
1/20/2013 17:25

http://www.ruanyifeng.com/blog/2012/07/git.html 如果你严肃对待编程,就必定会使用”版本管理系统“(Version Control System)。 眼下最流行的”版本管理系统”,非Git莫属。 相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称”快照”)的指针,因此非常快捷易用。 但是,太方便了也会产生副作用。如果你不加注意,很可能会留下一个枝节蔓生、四处开放的版本库,到处都是分支,完全看不出主干发展的脉络。 Vincent Driessen提出了一个分支管理的策略,我觉得非常值得借鉴。它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职、井井有条。理论上,这些策略对所有的版本管理系统都适用,Git只是用来举例而已。如果你不熟悉Git,跳过举例部分就可以了。 一、主分支Master 首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。 Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。 二、开发分支Develop 主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。 这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对Develop分支进行”合并”(merge)。 Git创建Develop分支的命令:   git checkout -b develop master 将Develop分支发布到Master分支的命令:   # 切换到Master分支 git checkout master # 对Develop分支进行合并 git merge –no-ff develop 这里稍微解释一下,上一条命令的–no-ff参数是什么意思。默认情况下,Git执行”快进式合并”(fast-farward merge),会直接将Master分支指向Develop分支。使用–no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。关于合并的更多解释,请参考Benjamin Sandofsky的《Understanding the Git Workflow》。 三、临时性分支 … Continue reading

6/25/2012 13:31 | Tag:,

Remove git from the list of backends handled by vc-mode: (delete ‘Git vc-handled-backends) or remove all source control hooks: (setq vc-handled-backends ())

6/7/2012 21:03

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。相对于传统的版本控制,具有如下优点: 更轻松的管理。 传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。 更健壮的系统。 分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。 对网络的依赖性更低。 由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。

TFS
6/7/2012 20:59

TFS 2010是微软的软件开发生命周期管理(ALM)套件的核心服务器端,将MTLM与它进行紧密绑定更进一步凸显了微软软件生命周期管理软件的战略,并突出了Visual Studio 2010 Ultimate更多的敏捷特性。它不再只是面向开发人员或者是测试人员角色,而是要提供一个平台来有效协调和支持开发过程中各个角色,并使他们能够彼此紧密联系进行协作。

6/4/2012 11:25 | Tag:

Choose the Run Git from the Windows Command Prompt option Choose the Use (Tortoise)Plink option Choose the Checkout as-is, commit as-is option

4/25/2012 10:21

Choose the Run Git from the Windows Command Prompt option Choose the Checkout as-is, commit as-is option

4/3/2012 10:13 | Tag:

$ git bundle create /tmp/somefile master 然后传输这个文件包, somefile ,给某个其他参与者:电子邮件,优盘,一个 xxd 打印品和一个OCR扫描仪,通过电话读字节,狼烟,等等。接收者通过键入如下命 令从文件包获取提交: $ git pull somefile 接收者甚至可以在一个空仓库做这个。不考虑大小, somefile 可以包含整个原先 git仓库。 在较大的项目里,可以通过只打包其他仓库缺少的变更消除浪费。例如,假设提交 ‘`1b6d…’’是两个参与者共享的最近提交: $ git bundle create somefile HEAD ^1b6d 如果做的频繁,人可能容易忘记刚发了哪个提交。帮助页面建议使用标签解决这个问题。 即,在你发了一个文件包后,键入: $ git tag -f lastbundle HEAD 并创建较新文件包,使用: $ git bundle … Continue reading

3/20/2012 10:15 | Tag:

http://wangliping.net/git-clone-spec-branch 有时git clone下来会出现很多branch,更麻烦的是如果主分支没代码那你就只能看到.git目录了。如下面的这个: $ git clone git://gitorious.org/android-eeepc/mesa.git 发现本地就只有一个.git目录,那么这个时候就需要checkout了。 进入你的本地目录,如这个是mesa,利用 $ git branch –r 查看branch信息(当然你也可以用git show-branch查看,不过有时并不好用),获得如下branch信息: origin/android origin/mesa-es origin/mesa-es-dri 此时我们需要的是android分支的代码,那么此时就要进行checkout了。 $ git checkout origin/android 你再看你的目录(mesa)下是不是有了代码了?其它的branch同理。

2/25/2012 21:43 | Tag:

使用 .gitignore来忽略某些文件 分类: Git Guide 2010-12-11 12:50 3169人阅读 评论(0) 收藏 举报 具体使用请看 man gitignore 一般某个项目dev过程中都会产生一些中间文件,这些文件是我们不想要追踪的。 git中可以使用.gitignore文件来忽略这些文件。 在需要的目录下面 添加 .gitignore文件 文件中每一行表示需要忽略的文件的正则表达式。 $cat .gitignore #ignore .metadata .metadata .gitignore #ignore obj and lib file *.[oa] 当前的目录情况 $ls -al total 24 drwxr-xr-x 4 root … Continue reading

2/25/2012 13:07 | Tag:

wiloon@debian:~/development/source/et$ git push No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as ‘master’. fatal: The remote end hung up unexpectedly error: failed to push some refs to ‘gitolite@localhost:et’   should use…. git push … Continue reading

11/9/2011 3:32 | Tag:

git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如’git checkout new_branch’就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如’git checkout app/model/user.rb’就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚 git checkout -f     //提取当前branch的所有文件. git checkout HEAD . # 将所有代码都 checkout 出來(最后一次 commit 的版本), 注意, 若有修改的代码都会被还原到上一版. (git checkout -f 亦可)

11/6/2011 3:04 | Tag:

git rm /xxx/xxx/xxx.xxx git rm xxx/xxx

11/3/2011 4:40 | Tag:

InDefero 是一个项目管理软件,可以用来跟踪bug;提供代码下载、文档浏览等功能。 Git and Subversion integration

11/3/2011 4:37 | Tag:

Repository write access denied manually add public key to /home/git/.ssh/authorized_keys start with : command=”python /home/www/indefero/scripts/gitserve.py USER”,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa******

9/27/2011 13:50 | Tag:

/var/lib/gitolite /var/gitolite /home/git/share/gitolite /etc/gitolite /usr/share/doc/gitolite /usr/share/gitolite

9/27/2011 6:22 | Tag:

svnserve -d -r /xxx/xxx/xxx/repos

5/28/2011 13:01 | Tag:

      http://zensheno.blog.51cto.com/2712776/490748 http://blog.csdn.net/ithomer/article/details/7529841 http://www.cnblogs.com/springbarley/archive/2012/11/03/2752984.html http://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6

5/4/2011 1:23 | Tag:

1. 用apt-get update 和 apt-get upgrade 更新当前系统. 2. 安装OpenSSH Server: sudo apt-get install openssh-server 3. 修改ssh服务端配置文件/etc/ssh/sshd_config Port 22 # 修改成你想要的登陆端口,如2222 PermitRootLogin no # 禁止root用户登陆 # 检查密钥的用户和权限是否正确,默认打开的 #设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有 权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。 StrictModes yes RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥认证 … Continue reading

5/2/2011 4:39 | Tag:

~/.gitconfig 中加三行 [color] status = auto branch = auto ui = auto

辽ICP备14012896