git是个分布式的版本控制工具。它可以使用git协议,http协议和本身linux常用的ssh协议进行远程传输。
具体的知识可以搜索git服务器出来的这篇文章:http://blog.jobbole.com/25944/ 。
我这里要介绍的是git的最简单使用方法(很通用和方便的方法)。
第一步、linux上安装git软件,yum install git-core;
第二步、在某个目录下新建一个目录用来作为代码仓库。比如:mkdir /data/codes
第三步、初始化代码仓库。cd /data/codes; git init
第四步、将需要托管的代码拷贝到仓库里。cp /data/c/* /data/codes -r
第五步、将代码添加到代码仓库:git add *
第六步、提交:git commit -m "添加代码托管"
至此,“服务器”侧的代码仓库就已经建好了。我们在该目录下执行git branch -a可以看到当前的分支只有master。
这样就可以到别的机器上,利用ssh协议将这个代码克隆过来,比如服务器ip为192.168.1.10,这上面建立用户git,user add git; passwd git;给密码pd123;我们到另一台ip为192.168.1.11的主机上操作:
git clone ssh://git@192.168.1.10/data/codes
这样代码就被克隆下来了。
不过 现在只有master一个分支,10主机上当前工作分支和11主机相同,所以为了安全,git默认11主机不能push代码,我们在11上创建dev分支:
git branch dev
git checkout dev
这样11上就创建了dev分支并且切换过来了。我们将dev分支push到服务器上:
git push origin dev
这样 10主机上就会有dev分支了,我们到10上执行git branch 就能看到。
以后修改了代码,就可以提交到10上的dev分支了。
如果 代码稳定了,想要合并到master,需要到10上执行git merge dev,这样就将dev分支合并到当前分支(master)了。
当然 分支管理是灵活的,比如10上可以切换到dev分支,这时候11就无法提交dev分支里的修改了,但可以提交master的分支。
【高级设置】
配置 .git/config里增加如下两行:
[receive]
denyCurrentBranch = ignore
增加后可以解决无法提交到相同工作分支的问题,但是提交后在服务器侧需要执行git reset --hard才能看到提交后的修改。
建议别用这个方式,使用不同分支提交,用merge合并更安全。
【实用技巧】
打开用户主目录下的.bashrc(mac os里打开.bash_profile),
vim ~/.bashrc
在最后加上如下三行:
WHITE="\[\033[0m\]"
GREEN="\[\033[1;32m\]"
export PS1="\u@\h \W$GREEN\$(git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/[\1]/')$WHITE\$"
这样,就可以在系统默认的提示符的基础上,增加用户切换至某仓库目录下用绿色字体显示分支名;
vim ~/.gitconfig
增加如下几行:
[diff]
tool = vimdiff
[difftool]
prompt = false
[alias]
logp = log --pretty=format:'%h [%ci] (%an) -%C(green)%d%Creset %s'
增加后,在代码仓库里执行git difftool就可以用vimdiff的方式查看差异,执行git logp就可以以简洁的彩色文字查看git log。
上面两种配置对于git仓库的修改和查看差异、日志都是很实用的技术,建议进行配置。
对于架设web服务器的人来说,如果代码都是解释执行的,那么可以这样做:
A主机192.168.1.10为web服务器;B主机192.168.1.11为开发机。
A上的普通用户user1用户目录下/home/user1/建立原始代码仓库(也可以在别处,只要这个用户可写),目录名为web服务器需要的那个目录名如wwwroot,然后git init,并添加好代码,也可以在这里创建dev分值,但切换到master里工作。
在web服务器主目录下需要布置代码的位置进行git clone /data/wwwroot,然后切换分支到dev,git checkout dev;
在开发机B上git clone ssh://user1@192.168.1.10/home/user1/wwwroot,并切换分值到dev,git checkout dev;
在B上开发代码,调试好后,提交到服务器,git commit -a "xxxxx"; git push;
在A上的/home/usr1/wwwroot下已经保存了这个提交了,不必理会这个目录,去/data/wwwroot下执行git pull,就可以把最新的dev代码拉下来,怎样,是否方便呢?当代码稳定时,可以去/home/user1/wwwroot下将dev代码合并到master,git merge dev。
相关推荐
### Git安装和使用教程知识点概览 #### 一、Git简介 - **分布式特性**:Git作为一种分布式的版本控制系统,其核心优势在于每个开发者的工作站上都拥有完整的项目历史记录,这种特性使得开发者可以在没有网络连接的...
非常详细详细介绍了git在win7的安装及使用,适合新手使用
一、下载安装Git 1、下载Git 官方地址为:https://git-scm.com/download/win 2、下载完之后,双击安装 3、选择安装目录 4、选择组件 5、开始菜单目录名设置 6、选择使用命令行环境 7、以下三步默认,直接点击...
一、Git安装 1. 下载Git:首先,你需要访问Git官方网站(https://git-scm.com/downloads)下载适合你的操作系统的Git版本。对于Windows用户,选择"Git for Windows"并下载最新稳定版,例如这里的Git-2.20.1-64-bit....
github使用教程 安装和使用图文教程.pdf
超级详细的 Git 安装使用教程 本教程将带您全面了解 Git 安装和使用过程,涵盖从安装 Git 到基本 Git 命令、GitHub 远程仓库操作等方面的内容。 一、 Git 安装 1. 打开 Git 官方网站,下载安装包...
《git安装和使用.docx》将指导你完成Git的安装,如在Windows上使用Git Bash,或者在macOS/Linux上通过包管理器安装。接着,文件会介绍Git的基本操作,如初始化仓库(`git init`)、添加文件到暂存区(`git add`)、...
Git 安装配置手册是指在 CentOS 环境下安装和配置 Git 服务器的详细步骤,这篇手册将指导您从零开始安装和配置 Git 服务器,并掌握 Git 的基本概念和使用方法。 一、Git 服务器安装 Git 服务器的安装需要在 ...
git的简介文档,软件安装,Git是一个开源的分布式版本控制系统,用于...如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应Git 提供的一些概念和特征。 Git 与 SVN 区别点: idea解决文件内容冲突:等等
### Git安装使用教程 #### 一、Git简介与特点 Git是一款免费且开源的分布式版本控制系统,能够高效地处理从微小到大型的各种项目。它由Linus Torvalds于2005年创建,旨在作为BitKeeper的一种替代方案,以解决Linux...
git安装和小乌龟安装包
### 一、Git安装 在Windows上,你可以通过以下步骤安装Git: 1. 访问Git官方网站(https://git-scm.com/download/win),下载最新版本的Git安装程序。 2. 运行安装程序,按照向导提示进行安装。记得在安装过程中...
本压缩包“git安装文件及使用说明.rar”提供了Git的安装程序和一个关于TortoiseGit的使用入门教程,帮助用户在Windows环境下更好地理解和使用Git。 1. Git-2.21.0-64-bit.exe:这是Git的64位版本安装程序。Git支持...
git安装包
以下是对Git安装和使用的详细介绍: 1. **下载与安装**:首先,你需要从Git官方网站或者可靠的第三方源下载适用于Windows的Git-2.27.0安装包。下载完成后,双击执行安装程序,按照提示进行安装。在安装过程中,可以...
1. **Git安装**:安装 MsysGit,一般情况下选择默认安装选项即可。 2. **CopSSH安装**:安装并配置 CopSSH,以便通过 SSH 连接访问 Git 仓库。 #### 配置CopSSH 1. **配置用户名**:根据个人需求自定义用户名。 2....
而"Git安装文档.zip"则可能是包含Git安装和使用指南的中文翻译文档,用户可以通过解压并阅读这份文档,获取更详细的安装和操作指导。 总的来说,Git GUI是一个强大的辅助工具,它将Git的强大功能与直观的图形界面相...