`
agurick
  • 浏览: 4222 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用unix-center做GIT代码仓库

阅读更多

最近给公司搞一个小程序,兴致挺高,下班还想回家接着搞搞。按照以往的方法,我会把代码打包,然后发到gmail里,回家下下来接着工作,完事儿了再发回去,第二天到了公司继续整。其实倒是有google code这样的地方,可以更方便的存储个人代码,可是因为这是给公司写的程序,有版权且不能公开,在说,SVN远程提交代码还是有点慢,像我这种喜欢频繁提交的人,恐怕得花不少时间在等待commit上,所以就一直用这个笨办法。本人又是一个离不开版本控制工具的家伙,多写几行代码就一定要建一个SVN 版本库,这样一来这个版本库也要搬来搬去,实在是太麻烦了。


想起以前还用过几天GIT ,想想好像这种场合用用它还是挺不错的,把源代码用GIT管理起来,变换工作环境前把工作分支push到某个远程服务器上,到了新的地方再fetch下来,不就连代码和版本库一起都整下来了,而且工作时GIT用起来真的是非常快。于是我先复习了一下GIT中文教程 发现只要在一台有ssh帐户的主机上安装了GIT,那么我们就可以把这台机器当作一个镜像版本库了。unix-center 不是提供很多种主机的ssh帐户么,于是就 ssh ubuntu.unix-center.net上去,发现在这个系统已经安装了GIT,可以作用来作我们的版本库。

先 ssh username@ubuntu.unix-center.net然后在~目录下建立一个git/projectname目录,然后cd到~/git/projectname中运行git init,在这里初始化一个版本库,然后用pwd看看目录的全路径是什么,因为在unix-center上,~目录一般不会是/home/username,而是一个名字更长的目录,我们假定现在pwd的结果是/home/a/b/username/git/project.在自己的电脑上,我们就可以按照GIT中文教程中介绍的方法来管理自己的代码,需要同步到服务器的时候只要运行

giit push username@ubuntu.unix-center.net/home/a/b/username/git/project/.git master

从服务器上更新代码只需要

 

git pull username@ubuntu.unix-center.net/home/a/b/username/git/project/.git master 
 

是不是觉得后面的服务器路径太长了,我们可以给它取个短一点的名字,使用

 

git remote add uc username@ubuntu.unix-center.net/home/a/b/username/git/project/.git
 

这样以后我们就可以用uc代表我们在unix-center上的这个版本库了。

#上传

git push uc master

 

#下载

git pull  uc master
 

 

另外你还可以对你的git目录chmod这样就可以在一定程度上保护你代码的安全。其实如果不牵扯到商业代码的保密问题,只是我们私人可以公开的代码的话,我们还可以使用github.com 提供的git托管功能来帮助我们管理好自己的代码,方便我们在不同的地方使用不同的电脑来工作。

 

 

3
0
分享到:
评论
3 楼 joewalker 2009-04-22  
学习学习~~
2 楼 agurick 2009-04-03  
  我这里好像不需要冒号也可以阿. linux 和 cygwin 都可以.
1 楼 myali88 2009-03-26  
引用

git remote add uc username@ubuntu.unix-center.net/home/a/b/username/git/project/.git  


这个地址是不是要改成:
git remote add uc username@ubuntu.unix-center.net:/home/a/b/username/git/project/.git 

我在自己的服务器上试了的,好像要这样才行!

相关推荐

    zsh-dotfiles:使用RCOS认可的Z Shell(zsh)点文件为您的终端增压

    "zsh-dotfiles-master" 可能是项目的主分支或源代码仓库,包含所有用于定制Z Shell环境的配置文件和脚本。 **详细知识点:** 1. **Z Shell特性**:Zsh支持自定义别名,简化常用命令;扩展的通配符匹配,如`~*`匹配...

    hsetroot:hsetroot 的克隆,因为我似乎永远找不到来源

    在压缩包文件名称列表中,“hsetroot-master”可能表示这是一个 Git 仓库的主分支,通常在开源项目中,`master` 分支代表了项目的最新稳定版本。这可能包含源代码、文档、构建脚本以及测试文件等,使得用户可以编译...

    问题中心

    从提供的压缩包文件名"issue-center-master"来看,这可能是一个Git仓库的克隆,其中包含了一个名为"Issue Center"的项目的主分支代码。在开源项目中,"master"分支通常代表了项目的主分支,包含最新的稳定代码。 在...

    ansible-role-netbox:用于在生产环境中部署DCIMIPAM工具NetBox的跨平台Ansible角色

    "ansible-role-netbox-master" 指的是该角色的主分支或完整版本,通常在Git仓库中,"master"分支代表项目的主线代码。 **详细知识点** 1. **Ansible**:Ansible是基于Python的自动化工具,使用YAML语法,无需在...

    InfoSphere DataStage Parallel Framework Standard Practices

    通过使用如Git、SVN等工具,可以实现版本管理、变更跟踪和协同工作,这对于大型项目或分布式团队尤为重要。 总的来说,《InfoSphere DataStage 平行框架标准实践》一书不仅涵盖了DataStage的基本概念和操作技巧,还...

Global site tag (gtag.js) - Google Analytics