zoukankan      html  css  js  c++  java
  • 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比较的优缺点差异

  • 相关阅读:
    MySQL——sql语句处理时间——时间、字符串、时间戳互相转换
    MySQL——sql语句处理时间——日期加减天数
    Spring Boot——jpaProperties.getHibernateProperties()的使用
    Spring Boot——SpringBoot2+JPA+druid配置多数据源
    Spring Boot——log4j日志配置案例
    git命令——git 分支操作
    windows如何删除默认打开方式
    excel导出出现弹框
    笔记
    javascript中三个等号"==="是什么意思
  • 原文地址:https://www.cnblogs.com/diantong/p/11143435.html
Copyright © 2011-2022 走看看