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的比较
SVN与Git比较的优缺点差异
CerntOS7下搭建git服务器的更多相关文章
- Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- Windows操作系统下搭建Git服务器和客户端。
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- windows 下搭建git服务器,及问题处理。
最近要做一个源码管理服务器,权衡了一下还是git最适合,搭建服务器前看了网上一些windows下搭建git服务器的帖子,感觉还比较简单,没有太多需要配置的地方,于是开始动手. 我选择的是 gitfor ...
- Windows平台下搭建Git服务器的图文教程
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- Windows平台下搭建Git服务器的图文教程(转发)
Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...
- 【转】在Linux下搭建Git服务器
在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...
- 在Linux下搭建Git服务器的方法是什么样?
第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...
- Win10下搭建Git服务器
一. 搭建Git服务器环境前的必要准备 1.Windows10 2.Java环境 3.GitBlit服务器 4.Git版本管理工具 二. 开始搭建 第一步.安装JAVA运行环境 https://www ...
- 在Centos7下搭建Git服务器
① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...
随机推荐
- 洛谷P1346 电车【最短路】
题目:https://www.luogu.org/problemnew/show/P1346 题意:n个路口,每个路口有好几条轨道,默认指向给出的第一个路口. 如果要换到另外的轨道去需要按一次开关.问 ...
- Second Max of Array
Find the second max number in a given array. Example Given [1, 3, 2, 4], return 3. Given [1, 2], ret ...
- 006——转载-MATLAB数字与字符之间的转换
(一)参考文献:https://jingyan.baidu.com/article/5bbb5a1bd8dcb113eba1799d.html (二)数字转换成字符串 第一步在我们的电脑上打开matl ...
- 搭建自己的博客(十三):为博客后台添加ckeditor富文本编辑器
使用django默认的编辑器感觉功能太少了,所以集成一下富文本编辑器. 1.安装和使用 (1).安装 pip install django-ckeditor (2).注册应用 在django的sett ...
- LOJ2541. 「PKUWC2018」猎人杀 [概率,分治NTT]
传送门 思路 好一个神仙题qwq 首先,发现由于一个人死之后分母会变,非常麻烦,考虑用某种方法定住分母. 我们稍微改一改游戏规则:一个人被打死时只打个标记,并不移走,也就是说可以被打多次但只算一次.容 ...
- Pycharm 的常用快捷键
pycharm常用快捷键 1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + Alt + Space 快速导入任意类 Ctrl + Shift ...
- [access]第一篇-平台
[access]第一篇-平台 上海盟威软件有限公司http://www.accessoft.com/ 下载地址http://www.accessgood.com/ 中山市天鸣科技发展有限公司http: ...
- Hadoop mapreduce过程分析
原理图: 中间结果的排序与溢出(spill)流程图 map分析: (1).输入分片(input split):在进行mapreduce之前,mapreduce首先会对输入文件进行输入分片(input ...
- vue-qr生成下载二维码
安装vue-qr npm install vue-qr --save 生成二维码实列 <vue-qr ref="Qrcode" :text="qrCodeConfi ...
- legend3---17、如何抽象和复用控制器中的方法
legend3---17.如何抽象和复用控制器中的方法 一.总结 一句话总结: 比如不同的控制器中都用了检查手机号是否已经注册,是否没注册这样的功能,我应该如何抽象和复用方法 新建一个处理手机号码的模 ...