linux系统git安装及应用

一、git安装

1.默认安装

   执行命令:yum install git

 

2.安装指定版本git

    先删除刚才已下载的安装包:yum remove git

    下载对应版本git:wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz

    解压对应安装包:tar -zxvf git-2.8.3.tar.gz

    进入目录:cd git-2.8.3/

    配置git安装路径:./configure prefix=/usr/local/git/

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

其中–prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置–prefix,如:
./configure --prefix=/usr/local/test1
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。

用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

    编译并且安装:make && make install

    查看git版本号:git --version

    git已经安装完毕

二、git使用

1.使用基本命令流程图

 

2.使用示例

    a.创建仓库

         git --bare init test   -- 若不指定目录test,则默认当前目录为新仓库,当前目录下生产.git文件。这里包含test新文件夹,于是在当前目录新增文件夹test,test文件夹作为仓库,test目录下面生成.git文件。

在初始化远程仓库时最好使用 git --bare init   而不要使用:git init
   如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时,   如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上,  也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.

 

       

b.clone代码到本地工作空间

  git clone user@ip:git路径  -- user为登陆服务器的用户名,ip为服务器ip,git路径为git仓库的路径。

  如下:git clone root@服务器ip:/workspace/test,clone下来后,进入test文件夹,发现当前分支为master,这是git仓库创建时的默认分支。

   注意:此时需要输入密码为登陆服务器的密码。

  
c.本地创建分支并且提交到服务器

问题场景:新建git项目或刚为已存在项目创建了git仓库,想用git branch dev创建dev分支或用git checkout -b dev创建并切换到dev分支时报错。

原因:刚创建的git仓库默认的master分支要在第一次commit之后才会真正建立,否则就像你声明了个对象但没初始化一样

    初始化仓库:在本地test目录下新增文件提交到服务器(文件提交命令:git add .->git commit -m"文字说明"->git push)

    

   创建新分支develop,git branch为查询当前本地分支,git branch develop为创建develop新分支,git checkout develop为切换分支到develop

   

   上传分支到服务器:git push origin develop

   

   这是本地新建一个其他文件夹other,clone一份仓库git内容,并可以切换到develop分支

   

   d.文件冲突解决

    场景:当两个人同时修改了一个文件,一个人已经提交,第二个人再提交时就会发现有冲突,这时候就需要先解决冲突后再提交。

方法1:

git pull 出现冲突后丢弃本地冲突文件修改,采用远程文件覆盖本地文件

git checkout  [文件路径]  --本地库内容覆盖工作区内容
例:git checkout test/src/main/resources/spring-shiro.xml  

git pull重新从服务器更新内容

方法:2:

示例:develop分支上存在文件:冲突文件.txt,用户1修改提交:

用户1修改后更新代码(git pull)出现冲突:

这时候需要先解决冲突才能更新下来,然后提交代码,步骤如下:

先暂存本地修改git stash ,然后git pull 更新代码,这时我们打开文件“冲突文件.txt”,看到是用户1提交的内容

然后执行合并暂存内容命令:git stash pop,查看冲突文件,<<<<<<< Updated upstream为从服务器更新下来的内容,

>>>>>>> Stashed changes为暂存区的内容

   

   接着修改文件内容,留下需要的内容提交即可

   

方法3:

1.git pull

更新代码,发现

error: Your local changes to the following files would be overwritten by merge:pom.xml

Please commit your changes or stash them before you merge.
这说明你的pom.xml与远程有冲突,你需要先提交本地的修改然后更新。

2.git add pom.xml

  git commit -m '冲突解决'

 提交本地的pom.xml文件,不进行推送远程

3.git pull

更新代码

Auto-merging pom.xml
CONFLICT (content): Merge conflict in pom.xml
Automatic merge failed; fix conflicts and then commit the result.

更新后你的本地分支上会出现 (develop|MERGING)类似这种标志

4.找到你本地的pom.xml文件,并打开

你会在文件中发现<<<<<<< HEAD ,=======  ,>>>>>>> ae9a0f6b7e42fda2ce9b14a21a7a03cfc5344d61

这种标记,<<<<<<< HEAD和=======中间的是你自己的代码,  =======  和>>>>>>>中间的是其他人修改的代码

自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,=======  ,>>>>>>>这种标志

5.git add pom.xml

git commit -m '冲突解决结束'

再次将本地的pom.xml文件提交

6.git push

将解决冲突后的文件推送到远程
 

三、gitLab关联

yum安装
1. 安装并配置必要的依赖关系
   //在 CentOS 系统上下面的命令将会打开系统防火墙 HTTP 和 SSH 的访问
   sudo yum install curl openssh-server openssh-clients postfix cronie
   sudo service postfix start
   sudo chkconfig postfix on

   sudo lokkit -s http -s ssh

# 若不执行安装有可能遇到这个错误【lokkit: command not found 】
yum -y install lokkit


2. 添加 GitLab 镜像源并安装
   curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
   sudo yum install gitlab-ce
   //如果你不太习惯使用命令管道的方式安装镜像仓库,你可以在这里找到 完整的安装脚本 
   或者 选择系统对应的安装包 使用下面的命令手动安装
   curl -O https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-9.4.3-ce.0.el6.x86_64.rpm
   rpm -ivh gitlab-ce-9.4.3-ce.0.el6.x86_64.rpm
3. 配置并登陆 GitLab
   进入配置文件:  vi ./etc/gitlab/gitlab.rb
   修改文件:在文件中命令模式下使用后面查找命令找到:/external_url 'http://localhost'
   将localhost修改为浏览器访问的网址即可
   加载配置:sudo gitlab-ctl reconfigure
4. 访问 GitLab
   输入http://刚才配置的IP

如果8080端口号已经被占用,则访问会报502,这时候需要修改端口号,如下操作:

# gitlab-ctl stop

# vi /etc/gitlab/gitlab.rb   (取消注释并修改端口)
unicorn['port'] = 8801

# gitlab-ctl reconfigure  (重新生成配置)
# gitlab-ctl restart
# lsof -i:8081        (查看端口号对应的服务)

5.注册账号登录--自行创建自己的账号
6.创建项目

 

7.clone项目到本地

   git clone http://服务器ip/登陆用户名/myproject.git

   clone时输入密码即使用户对应密码

   

 

 

四、git卸载

1.删除git安装包

2.卸载已安装git

<1.>找到git的位置

终端命令:which -a git

<2.>cd进入git所在的目录

终端命令:cd /usr/bin/git(这个是一般的默认位置)

<3.>删除命令

终端命令:sudo rm -rf git*

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值