`
samwong
  • 浏览: 281748 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

服务器上建立GIT仓库

 
阅读更多

又开始胡折腾了, 哈哈, 今天折腾的是服务器建立GIT仓库. 嗯, 是纯仓库.

1. 保证所有操作均在root帐号下, 因为建立的将是server side的GIT仓库

2. 首先建立一个git的帐号, useradd -m git

3. 建立一个目录, 比如/var/git/test, 然后进入目录, 运行git init建立一个仓库

4. 退出该目录, 执行git clone –bare test test.git建立一个纯仓库目录

5. 使用chown -R git:git test.git将操作权限给git. 同时, 可以删除原来的test目录了

6. 给git用户设置密码, 然后su到git上, 建立.ssh/authorized_keys文件, 并将自己主机上的.ssh/id_rsa.pub文件中的内容贴出去, 这样, 就可以直接使用ssh收发git, 而不用输入密码了

7. 回到本机, 假设刚才服务器的地址是example.com, 使用git clone git@example.com:/var/git/test.git来检出仓库, 同时, 你也有了对仓库的读写操作.

每次都直接对master分支操作并提交, 显然不是一个好的方案. 有人对git的使用提出了一个很好的模型, 地址是:

http://nvie.com/posts/a-successful-git-branching-model/

这个模型有一些复杂, 我做了 一些简化:

1. 首先假设该项目有2人参与, 并有一个纯GIT仓库

2. 保证GIT仓库里有2个分支, master和dev

3. master分支保存的, 必须是可以直接当作版本发布的东西, 比如0.3beta, 0.5alpha

4. dev分支保存的, 必须是可以运行的, 无错误的版本, 以一个功能点为单位提交的版本

5. 每个开发者需要在本地建立自己的分支来开发, 且提交 以小功能点为单位, 比如, 完整了注册模块, 提交 一次, 完成了登录模块, 提交 一次. 功能开发完成后, merge进dev分支, 然后继续开发其它功能点.

6. 修改bug必须在bugfix分支上进行

7. 如果开发地点会变化, 可以考虑将部分本地分支放到远端, 单成员间注意分支名称不要相同

这么做的好处是, 需要版本发布的时候, 直接checkout master分支, 或者建立于master分支上的tag, 确保功能完备. dev分支永远是可以运行的, 这在web开发中很重要, 每次pull出来的, 都是正确的. 由于git运行本地提交, 所以开发者可以在本地做多次提交, 功能开发完成并测试通过后, 一次merge进dev, 而不需要多次与服务器同步. 修复bug的时候, 使用单独的分支, 既不影响开发, 又能快速相应bug, bug修改完成后, 直接删除该分支, 就算失败了, 也可以直接删掉分支, 而不影响其它代码.

分享到:
评论

相关推荐

    git创建服务器端

    代码管理工具,git服务器端建立仓储,在自己的电脑上就可以创建远程代码仓库

    本地建立git仓库管理本地代码

    本地PC建立git仓库,管理本地代码

    创建git服务器带工作目录的仓库脚本

    一键生成创建Git服务器带工作目录的仓库完整的脚本,非常实用!

    Git使用手册.pdf

    1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在自己的机器上根据不同的开发目的,创建分支,修改代码。 3、在单机上自己创建的分支上提交代码。 4、在单机上合并分支。 5、把服务器上最新版...

    gitmesh:创建分布式git服务器集群的实验项目

    它管理仓库服务器和从git客户端到适当仓库服务器的代理请求。 我们可以通过使用负载均衡器设置多个实例来使其冗余。这是群集的存储服务器。 Git存储库实际上位于这种服务器上。 我们可以向集群添加任意数量的存储库...

    svn和git服务器搭建手册.xlsx

    此资源主要讲解了window环境下怎样搭建svn和git服务器,如何创建用户和组,并对仓库进行用户访问权限设置等。

    Git基础用法

    1. 创建git远程仓库(创建git远程服务器) 12 2. 添加远程库 14 3. 从远程库克隆 15 4、 直接关联远程库 16 7、 分支管理 17 1、 创建与合并分支 17 2、 解决冲突 21 3、 分支管理策略 24 4、Bug处理 26 5、 多人...

    git-lfs-one:Aliyun上的无服务器Git LFS和OneDrive上的Git LFS主机

    完全弹性伸缩的Git LFS服务器。 由阿里云对象存储(OSS)、函数计算(FC)、表格存储(OTS)支持。 以极低成本自由搭建仓库数目不限、容量不限的LFS服务。 ∘ ∘ ∘ ∘ ∘ ∘ 资源栈模板安装 确保阿里云账户开通了...

    Git gui(git客户端)64位 v2.12.0.zip

    1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在自己的机器上根据不同的开发目的,创建分支,修改代码。 3、在单机上自己创建的分支上提交代码。 4、在单机上合并分支。 5、把服务器上最新...

    Git中文参考手册.CHM

    Git中文版参考手册.CHM,内有Git 安装配置、Git 工作流程、Git 创建仓库、Git 分支管理、Git 查看提交历史、Git 远程仓库、Git 服务器搭建等。

    Git开发操作流程v1.0 Git使用笔记 git常用命令 git常见问题

    1、 首先需要在git服务器中建立个工程 5 2、 在本地用git执行命令 5 Git新建一个project 6 Git clone带用户名和密码 7 Git checkout 忽略修改的文件 7 Git删除已经跟踪的目录 7 Git add 后如何去掉文件 7 Git clone...

    GitServer:ASP.NET Core Git HTTP服务器

    Git服务器ASP.NET Core开发Git HTTP服务器设定 "GitSettings": { "BasePath": "D:\\Git", "GitPath": "git" }需要先安装Git,并确保git命令可以执行GitPath可以是git的绝对路径,如在Windows下: C:\\Program Files\...

    详解在CentOS下搭建自己的Git服务器

    首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较...3、初始化git仓库:这里我们选择/data/git/learngit.git来作为我们的git仓库 [root@localhost git]# git init --bare learngit.git Initia

    git-simpleserver:从命令行管理自己的Git服务器

    在您的服务器上创建一个新的仓库。 $ git ss repo create server-config-nginx Repo ' server-config-nginx ' was created successfully. Track it as remote ' origin ' via: $ git remote add origin git@...

    Git在eclipse中的配置详细记录(二)

    此小结的前提是已经搭建GIT服务器,并通过SSH协议连接,可参看文档...首先通过shell工具连接到服务器,建立空仓库gitdemo,此时的ssh访问地址如下,分别由协议名称、用户名、IP、端口、git仓库目录组成。ssh://root@192

    Git常用操作

    1. 本地新建一个git仓库 2 2. 本地克隆一个远程仓库 2 3. 同步远程仓库代码到本地 2 4. 同步本地代码到远程仓库 3 二、基本配置 3 2.1. 给Git着色 3 2.2. 设置文本编译器 3 2.3. 设置比较工具和合并工具 3 三、基础...

    Git基础操作

    1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在自己的机器上根据不同的开发目的,创建分支,修改代码。 3、在单机上自己创建的分支上提交代码。 4、在单机上合并分支。

    progit(git中文文档)

    接下来,你可以继续学习 Git 如何存储对象、Git 的对象模型是怎样的、打包文件的细节、服务器协 议等更多知识。 本书自始至终都将引用本章的内容,以便你能够在当时就可以深入了解。但是,如果你像我们 一样希望深入...

    在CentOS搭建Git服务器的详细步骤

    前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了。...二 创建git用户 这里你可以选择新建一个用户来测试,也可以直接使用你的root进行以下操作。笔者也是看着资料一步一步来的

    Linux 搭建Git服务器的方法

    安装Git yum install -y git ...创建Git仓库 # 切到指定目录下 sudo git init --bare server.git # owner指定为git sudo chown -R git:git server.git 禁用git用户Shell 在 /etc/passwd 文件里把 git:x:502:502

Global site tag (gtag.js) - Google Analytics