分布式版本管理器Git的基础操作与配置指南<二>

一.Git分支介绍与创建

Git中的分支,其实本质上仅仅是个指向commit对象的可变指针。Git回使用master作为分支的默认名

字,在若干次提交后,你其实已经有了一个指向最后一次提交对象的master分支,它在每次提交的时候

都会自动向前移动。

1.Git分支的创建,切换和删除

git branch 不带参数,它会给出当前所有分支的清单,*表示当前所在的分支

git branch -v 附带显示各个分支最后一次commit信息

git branch testing 创建一个tesing分支,这仅仅是建立一个新分支,但不会自动切换到这个分支上去,此时依然在master分支上工作

git checkout testing 切换到testing分支

git checkout -b iss53 新建并切换到该分支iss53
    git merge hotfix 用来合并分支,将当前分支合并到hotfix分支上

git branch -d hotfix 删除分支hotfix
2.Git分支管理

git branch --merged 查看哪些分支已经并入当前分支

git branch --no-merged 查看尚未和并的分支

git push origin serverfix 把分支serverfix推送到远程仓库origin,git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:[receive]   denyCurrentBranch = ignore
    git fetch origin 从远程仓库origin获取数据,在fetch操作抓来的新的远程分支后,无法在本地编辑该远程仓库,如果要把该内容合并到当前分支,可以运行git merge origin/branchname,如果想要一份自己的branchname,可以git checkout -b serverfix orgigin/branchname

git pull git://github.com/project.git    抓取远程仓库上的数据

二.服务器上的Git
Git可以使用四种主要的协议来传输数据:本地传输,ssh协议,git协议,和http协议

本地协议

git clone /opt/git/project.git 或者git clone file:///opt/git/project.git
    git remote add local_proj /opt/git/project.git 添加一个本地仓库到现有Git工程

ssh协议

git clone ssh://[email protected]:project.git 或者git clone [email protected]:project.git
http/s协议

cd /var/www/htdocs
    git clone --bare /path/to/git_project gitproject.git
    cd gitproject.git
    mv hooks/post-update.sample hooks/post-update
    chmod +x hooks/post-update     之后就可clone仓库git clone http://example.com/gitproject.git

在服务器上部署Git

开始架设 Git 服务器的时候,需要把一个现存的仓库导出为新的纯仓库,纯仓库的目录名以 .git 结尾git clone --bare my_project my_project.git有了仓库的纯副本以后,剩下的就是把它放在服务器上并设定相关的协议。假设一个域名为git.example.com 的服务器已经架设好,并可以通过 SSH 访问,而你想把所有的 Git 仓库储存在 /opt/git 目录下。只要把纯仓库复制上去: scp -r my_project.git [email protected]:/opt/git ,现在,其他对该服务器具有ssh访问权限并可以读取/opt/git的用户就可以用一下命令clone
        git clone [email protected]:/opt/git/my_project.git

三.实例

实例1:用authorized_keys方法来给用户授权(先做服务器端操作,后做客户机上操作)

在客户机上

ssh-kengen

ssh-copy-id -i id_rsa.pub [email protected](服务器)

cd myproject

git init

git add .

git commit -m "initial commit"

git remote add origin [email protected]:/opt/git/project.git

git push origin master

Git服务器上

useradd git

passwd git

cd /opt/git

mkdir project.git

cd project.git

git --bare init 生成一个不含工作目录的*空仓库*,这样空仓库本地不能执行git status,git add等动作,适合远程发布仓库

如果往裸仓库放东西的话,可以这样

cd /opt/git/

mkdir project

echo "hello world!" > file1

git add .

git commit -m "initial commit"

git clone --bare project project.git

然后从本地clone该仓库

git clone [email protected]:/opt/git/project.git

本地会生成一个project文件夹,file1文件会在此

实例2:公共访问

Git服务器上

mkdir /opt/git/project.git

groupadd www-data

cd project.git

git --bare init

mv hooks/post-update.sample hooks/post-update

chmod +x hooks/post-update更改apache的配置文件<VirtualHost *:80>

ServerName git.gitserver

DocumentRoot /opt/git

<Directory /opt/git/>

Order allow, deny

allow from all

</Directory>

</VirtualHost>

chgrp -R www-data /opt/git

重启apache就可以使用git clone http://git.gitserver/project.git

分布式版本管理器Git的基础操作与配置指南<二>

时间: 2024-12-28 09:07:51

分布式版本管理器Git的基础操作与配置指南<二>的相关文章

分布式版本管理器Git的基础操作指南

对于任何一个文件,在Git内都只有3种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地波啊存在本地数据库中了,已修改表示修改了某个文件,但还没有提交保存,已暂存表示把已修改的文件放在下次提交时要保存的清单中. 一.基本的Git工作流程如下所示: 在工作目录中修改某些文件 对这些修改了的文件做快照,并保存到暂存区域 提交更新,将保存在暂存区域的文件快照转储到git目录中 二.Git安装 yum install curl-devel

Mac下Git的基础操作

目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快速的.免费的.稳定的在线代码托管平台有github,还有一些国内的,coding.csdn代码托管平台.京东代码托管平台等等. 二.Git的基本使用 1.注册一个git账号 咱们以coding代码托管平台为例来简单介绍 A.登陆coding网站https://coding.net/,注册coding

分布式版本管理神器--GIT

一:起因 (0):最先听说的版本管理系统是svn,那是大学本科期间接触的了,当时也没有多想 -- 一个带我们的学长,告诉我们如何如何操作: (1):研究生就开始接触GIT,当时也是仅仅了解几个常用的命令,仅仅能够使用简单的日常所需要的命令:也没有深入的系统的了解,现在终于停下匆忙的脚步,思考一番,打算在这里做一个简单的小结 (2):分布式版本管理神器--GIT -- 最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Rub

高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

(WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 为了部署HA集群,应该准备以下事情: namenode服务器: 运行namenode的服务器应该有相同的硬件配置. journalnode服务器:运行的journalnode进程非常轻量,可以部署在其他的服务器上.注意:必须允许至少3个节点.当然可以运行更多,但是必须是奇数个,如3,5,7,9个等等.当运行N个节点时,系统可以容忍至少(N-1)/2个节点失败而不影响正常运行. 在HA集群中,standby状态的

谈谈分布式版本管理工具Git

一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. 三.Git与SVN的的主要区别? Git是分布式版本控制系统,那么它不但和SVN一样有中央服务器,而且每个人的电脑也是一个完整的版本库,这样,工作的时候联网就不是必须的了,因为版本可以先在自己的电脑上

Git本地基础操作

1.Git简介(安装与配置) 1.Git的安装(http://www.git-scm.com/download/) 2.Git配置[git config] 关于git命令的查询方式: git安装根目录下/doc/index.html可以查询,更方便的方式是在使用git时通过help进行有针对性的调用.(以查询config帮助文档为例具体语法为:git config --help/git help config) pro git参考文档 git的已配置信息都会存储在用户目录(例C:\Users\A

git,svn基础操作

git和svn的操作都能管理代码,现在主流的就是这两个了,两个的区别最大的是: svn是集中式的版本控制系统.git是分布式的版本控制系统.svn 很简单 就不用说了. git说说我最常用的把自己代码推送到github上: 我的电脑是 工作区(通过add)-->暂存区(通过commit)-->master 1:先在自己电脑上装git 2:先绑定一个自己的信息 $ git config --global user.name "Your Name" $ git config -

mysql常用基础操作语法(十二)~~常用数值函数【命令行模式】

数值函数是常用函数之一,也是学习mysql必会的,常用的有如下一些: 1.ceil:返回大于某个数的最小整数值: 2.floor:和上一个相反,返回小于某个数的最大整数值: 3.round:返回某个数值四舍五入后的数值: 如上图,round的第二个参数代表需要保留的小数位. 4.truncate:返回某个数值被截断后的数值: 这里与round不同的是,不管需要保留的小数位后边一位是什么都会直接抛弃,同样的第二个参数代表需要保留的小数位. 注:以上的例子中都是整数,但这些函数也可以一样的处理负数.

Python 迭代器&amp;生成器,装饰器,递归,算法基础:二分查找、二维数组转换,正则表达式,作业:计算器开发

本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 迭代器&