Git之Gitlab

一、安装

①安装包下载

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/

这里,我下载的是11.6.3版本

②安装依赖

sudo yum install -y curl policycoreutils-python openssh-server 
sudo systemctl enable sshd sudo systemctl start sshd 
sudo firewall-cmd --permanent --add-service=http 
sudo systemctl reload firewalld 
sudo yum install postfix 
sudo systemctl enable postfix 
sudo systemctl start postfix

③安装

rpm -i gitlab-ce-11.6.3-ce.0.el6.x86_64.rpm

④配置启动

sudo gitlab-ctl reconfigure

⑤访问

默认是80端口

http://192.168.124.129

第一次访问需要设置 root 账号的密码,然后再登录

tips:

如果需要上传新的项目到gitlab服务器上面,个人建议,先将gitlab服务器上面的目录clone下来后,再将新的项目的文件放入文件夹内,然后进行提交。

冲突解决

假设gitlab服务器上有一个dev分支,然后在该分支下有一个readme.txt文件

我们来看下要怎么解决开发过程中很头疼的同步时,冲突的问题

①使用git gui 解决冲突

我们开始进行修改,添加一行local,现在文件是这个样子

init
local

我们提交,依次点击

假设在此期间,gitlab服务器上面的文件已经有了新的提交,文件内容已经被修改成了

init
remote

我们push的时候,肯定会出现异常

好了,我们现在开始解决冲突

首先 remote->fetch from

然后 merge-> local merge,结果如图所示

 一般来说,我们会选择 use remote version,然后再将本地的修改加入后,重新push,修改后文件内容为

init
local
remote

我们再push一次,仍然是依次点击红框内的按钮

大功告成!

②eclipse解决冲突

当eclipse检测到冲突时,即文件出现红色的情况下

  • 我们先将修改提交到本地仓库commit(不是commit and push)
  • 然后再team->pull拉取gitlab上面的代码,拉取后,文件内的内容会标注出冲突的地方,看起来有点乱
init
<<<<<<< HEAD
local
=======
remote
>>>>>>> branch 'dev' of http://192.168.124.129/root/gitlabtest
  • 我们手动将冲突文件内的代码,进行合并整理后,最后进行提交,add->commit and push

.gitignore

比如我们有个项目叫GitLab,我们想要忽略其中的一些不需要提交的文件,我们新建一个.gitignore文件(跟.git文件同级,即放在git根目录下)

# Created by .ignore support plugin (hsz.mobi)
### Eclipse template

**/.metadata
**/bin/
**/tmp/
**/*.tmp
**/*.bak
**/*.swp
**/*~.nib
**/local.properties
**/.settings/
**/.loadpath
**/.recommenders

**/.project
**/.classpath


# External tool builders
**/.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
**/*.launch

# PyDev specific (Python IDE for Eclipse)
**/*.pydevproject

# CDT-specific (C/C++ Development Tooling)
**/.cproject

# CDT- autotools
**/.autotools

# Java annotation processor (APT)
**/.factorypath

# PDT-specific (PHP Development Tools)
**/.buildpath

# sbteclipse plugin
**/.target


# Tern plugin
**/.target.tern-project

# TeXlipse plugin
**/.target.texlipse

# STS (Spring Tool Suite)
**/.target.springBeans

# Code Recommenders
**/.target.recommenders/


### CVS template
**/CVS/
**/.cvsignore
**/.cvsignore
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839


# CMake
**/cmake-build-debug/
**/cmake-build-release/


########################################idea  IntelliJ################
**/.idea/
**/*.iws
**/*.ipr
**/*.iml

**/out/
**/target/



# mpeltonen/sbt-idea plugin
**/.idea_modules/

# JIRA plugin
**/atlassian-ide-plugin.xml



# Crashlytics plugin (for Android Studio and IntelliJ)
**/com_crashlytics_export_strings.xml
**/crashlytics.properties
**/crashlytics-build.properties
**/fabric.properties


**/.svn
### Java template
# Compiled class file
**/*.class

# Log file
**/*.log
**/logs/
**/log/




# Package Files #
**/*.war
**/*.nar
**/*.ear
**/*.zip
**/*.tar.gz
**/*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
**/hs_err_pid*

现在的文件目录结构如图

然后

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push origin

push成功后,我们可以看到gitlab服务器上面把这些文件忽略掉了,没有提交上去

如果有多个项目,跟GitLab在同级目录下,push的时候,也不会提交到gitlab上面去了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎户星座。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值