CerntOS7下搭建git服务器
(1).安装git
yum安装git,需要ssh的支持。某些版本需要安装git-core,那才是服务器。
[root@youxi1 ~]# yum -y install git
创建git用户
[root@youxi1 ~]# useradd -m git //-m表示创建用户主目录 [root@youxi1 ~]# echo "git:123456" | chpasswd //修改git的密码
创建一个空的项目仓库
[root@youxi1 ~]# su git [git@youxi1 root]$ cd [git@youxi1 ~]$ mkdir project.git [git@youxi1 ~]$ cd project.git/ [git@youxi1 project,git]$ git init --bare //初始化 初始化空的 Git 版本库于 /home/git/project.git/
(2).git的常见使用方法
git init here 创建本地仓库(repository),将会在文件夹下创建一个.git文件夹,.git文件夹里存储了所有的版本信息、标记等内容。
git remote add origin git@github.com:winter1991/helloworld.git 把本地仓库和远程仓库关联起来。如果不执行这个命令的话,每次push的时候都需要指定远程服务器的地址。
git add 从本地仓库增删,结果将会保存到本机的缓存里面。
git commit -m "[注释]" 提交,把本机缓存中的内容提交到本机的HEAD里面。
git push origin master 把本地的commit push到远程服务器上,origin也就是之前git remote add origin那个命令里面的 origin,origin 替代了服务器仓库地址:git push git@github.com:winter1991/helloworld.git master
git pull origin master 从远程服务器pull新的改动
git status 查看状态
git add -A 提交全部修改
git config --global user.name "[用户名]" 配置用户名,上传本地repository到服务器上的时候,在Github上会显示这里配置的上传者信息
git config --global user.email "[邮箱地址]" 配置邮箱
git config --list 查看配置列表
git rm xxx 从本地仓库中删除指定文件
git rm -r xxx 从本地仓库中删除指定文件夹
git commit -m "[注释]" 把本机缓存中的内容提交到本机的 HEAD 里面
git push origin master 把本地的 commit push 到远程仓库中
另外:可以在项目仓库目录下创建.gitignore文件,文件内容为指定忽略的文件、文件夹(相对路径为项目仓库目录)
(3).测试
1)在CentOS7上测试
安装git,克隆远程项目仓库。
[root@youxi2 ~]# yum -y install git [root@youxi2 ~]# mkdir git [root@youxi2 ~]# cd git/ [root@youxi2 git]# git clone git@192.168.5.101:/home/git/project.git //克隆 正克隆到 'project'... git@192.168.5.101's password: //输入密码 warning: 您似乎克隆了一个空版本库。 [root@youxi2 git]# ls project
测试
[root@youxi2 git]# cd project/ //进入本地项目仓库目录 [root@youxi2 project]# echo "first" > 1.html //创建测试文档 [root@youxi2 project]# git add . //添加到缓存区 [root@youxi2 project]# git commit -m "first" //提交到本地仓库 [master(根提交) 2f5d4db] first Committer: root <root@youxi2.cn> 您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确 与否。您可以通过下面的命令对其进行明确地设置以免再出现本提示信息: git config --global user.name "Your Name" git config --global user.email you@example.com 设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份: git commit --amend --reset-author 1 file changed, 1 insertion(+) create mode 100644 1.html
//测试本地仓库是否与远程仓库关联,如果没有关联则建立关联 [root@youxi2 project]# git remote add origin git@192.168.5.101:/home/git/project.git fatal: 远程 origin 已经存在。 [root@youxi2 project]# git push origin master //本地推送到远程服务器 git@192.168.5.101's password: Counting objects: 3, done. Writing objects: 100% (3/3), 205 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@192.168.5.101:/home/git/project.git * [new branch] master -> master
如果修改了推送到远程服务器时附带的用户名和邮箱
[root@youxi2 project]# git config --global user.name "user1" //修改推送时附带的用户名 [root@youxi2 project]# git config --global user.email "user1@163.com" //修改推送时附带的邮箱 [root@youxi2 project]# echo "second" >> 1.html [root@youxi2 project]# git add 1.html [root@youxi2 project]# git commit -m "second" [master 4462f19] second 1 file changed, 1 insertion(+) [root@youxi2 project]# echo "third" >> 1.html [root@youxi2 project]# git add 1.html [root@youxi2 project]# git commit -m "third" [master 4a6ca80] third 1 file changed, 1 insertion(+) [root@youxi2 project]# git push //推送到远程服务器 warning: push.default 未设置,它的默认值将会在 Git 2.0 由 'matching' 修改为 'simple'。若要不再显示本信息并在其默认值改变后维持当前使用习惯, 进行如下设置: git config --global push.default matching 若要不再显示本信息并从现在开始采用新的使用习惯,设置: git config --global push.default simple 参见 'git help config' 并查找 'push.default' 以获取更多信息。 ('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git, 为保持兼容,请用 'current' 代替 'simple' 模式) git@192.168.5.101's password: Counting objects: 8, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (6/6), 449 bytes | 0 bytes/s, done. Total 6 (delta 0), reused 0 (delta 0) To git@192.168.5.101:/home/git/project.git 2f5d4db..4a6ca80 master -> master
2)在Windows上测试
在安装TortoiseGit要先安装git for Windows。git for Windows下载地址https://gitforwindows.org/;TortoiseGit下载地址https://tortoisegit.org/download/
安装完成git for Windows后,右键应该出现Git GUI Here和GIt Bash Here。此时其实就已经可以使用了,但操作比较TortoiseGit相对复杂。
A.git for Windows的使用
第一次运行Git GUI Here会出现如下界面,选择Clone Existing Repository(克隆已存在的仓库)。
填写Source Location(源对象)和Target Directory(目标目录),最后点击克隆。D:\git不能够存在
出现一个认证界面(只有第一次有),输入yes,点击ok。然后会出现如下界面,需要多次输入登录密码
成功后会生成D:\git文件夹,并且转到如下界面。
在工作前最好先选择Branch下的Checkout,校验一下。然后在D:\git目录下增删改操作。修改完成后,依次点击下方的五个按钮Rescan(扫描)、Stage Changed(添加到缓存区)、Sign Off(签名)、Commit(提交到本地仓库)、Push(推送到远程服务器)。
Git Barsh Here是面向Windows系统的命令,也可在Git GUI的Repository下的Git Bash中打开。如果对签名不满意的,就在命令行中使用命令修改。
B.TortoiseGit的使用(可以安装中文补丁)
右键git clone,会出现如下界面,配置URL和目录
会出现确认界面,点yes或是,然后会出现输入密码的界面
后期使用和SVN类似,选中修改的文件-->右键-->TortoiseGit-->Add(添加),出现如下界面
点击提交会出现如下界面,编写完成后,点击提交,提交到本地仓库。
在提交到本地仓库时,会出现如下界面,提交完成后推送按钮会亮起。
点击推送编写推送信息,确认后输入密码即可完成推送。
(4).SVN和git的比较