目录
一、腾讯云 / 阿里云 购买服务器
二、服务器上安装GitLab-ce
找到买的服务器--点远程连接--workbench远程连接--立即登录
1.相关环境、依赖安装
yum -y install policycoreutils openssh-server openssh-clients postfix
yum install policycoreutils-python
systemctl enable sshd && sudo systemctl start sshd
systemctl enable postfix && systemctl start postfix
2.关闭防火墙或者防火墙增加白名单
systemctl stop firewalld.service
3.下载软件
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-13.6.7-ce.0.el6.x86_64.rpm
4.开始安装
rpm -i gitlab-ce-13.6.7-ce.0.el6.x86_64.rpm
5.修改默认端口
cd /etc/gitlab
vi gitlab.rb
6.在文件中修改 external_url和nginx['listen_port']的key对应的内容
external_url 'http://114.96.82.2:8280'
nginx['listen_port'] = 8280
6.重启
gitlab-ctl reconfigure
gitlab-ctl restart
7.页面输入即可访问
'http://ip:端口号
三、使用git
1、首先把服务器上的代码克隆下来
git clone
2、将所有有改动的全部添加到要提交的本地库中
也可以用git add 文件名进行单独文件的提交
git add .
3、将修改提交到本地库
git commit -a -m "提交添加的注释信息"
4、将本地库的commit推送到远程服务器
git push
5、拉取服务器上最新资源:
git pull
6、在不同的分支之间切换:git checkout 分支名
注意事项:切换分支的时候,如果当前分支有改动没有提交,是不能切换分支的,需要先把改动的内容提交或者放入缓存区
git checkout release/v1.0.0
7、合并分支:git merge 分支名
git merge feature/login
从当前分支merge feature/login分支的内容,如果有两个人修改了同一个文件的同一行,则会有冲突,可以在IDE工具上先解决当前冲突然后再提交。
8.创建分支
使用:"git branch 分支名称" 创建分支
9.查看分支
使用:"git branch" 查看分支
期中 * 号表示现在选中的分支(默认选中开发主线)
10.切换分支
使用:"git checkout 分支名称" 切换分支
这时会提示我们切换到分支”bin“ ,使用"git branch"查看分支,*号就显示到分支”bin“上
这时候我们就可以在分支上工作,不会影响到主线的代码。当我们工作完成,需要把分支改动提交到主线时,我们就要用到分支合并"git merge 来源分支"
11.分支合并
"git merge 来源分支" 合并分支 (备注:必须在master分支上才能合并开发分支)
合并分支前,我们需要先利用切换分支命令"git checkout master" 转换到主线。
切换成功有提示
确认切换到主线后,再"git merge 来源分支" 合并分支
12.删除分支
"git branch -d 分支名称" 删除分支(分支被合并后才允许删除)(-D 强制删除)
13、合并分支:
方法一:使用merge命令合并分支
1、目标:将dev分支合并到master分支
1.1、首先切换到master分支上
git checkout master
1.2、如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
//如果是自己一个开发就没有必要了,为了保险期间还是pull
1.3、然后我们把dev分支的代码合并到master上
git merge dev
//如果有冲突,手动解决冲突就行。
1.4、然后查看状态及执行提交命令
git statusOn branch master Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your >local commits) nothing to commit, working tree clean
//上面的意思就是你有12个commit,需要push到远程master上
> 最后执行下面提交命令
git push origin master
方法二、合并某个分支上的单个commit(cherry-pick命令)
比如 feature 分支上的commit 82ecb31非常重要,它含有一个bug的修改,或其他人想访问的内容。
无论什么原因,你现在只需要将82ecb31合并到master,而不合并feature上的其他commits;
所以我们用git cherry-pick命令来做:git checkout master
git cherry-pick 82ecb31
这样就好啦。
现在82ecb31就被合并到master分支,并在master中添加了commit(作为一个新的commit)。
cherry-pick和merge比较类似,如果git不能合并代码改动(比如遇到合并冲突),git需要你自己来解决冲突并手动添加commit。这里git cherry-pick每次合并过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决既可)。
四、配置gitlab的ssh keys
1、打开win+r==>cmd
2、git config --global user.name "gitlab的名字"
3、git config --global user.email "输入邮箱"
4、git config --global --list //查看是否有
5、ssh-keygen //三次回车
6、打开git base here 然后再输入
在~/.ssh/下会生成两个文件,id_rsa和id_rsa.pub
id_rsa是私钥
id_rsa.pub是公钥
7、查看是否生成了id_rsa和id_rsa.pub
cd ~/.ssh
ls
cat id_rsa.pub
查看 ssh 公钥方法:
1、通过命令窗口
a. 打开你的 git bash 窗口
b. 进入 .ssh 目录:cd ~/.ssh
c. 找到 id_rsa.pub 文件:ls
d. 查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub
查看密钥,如图: