gitlab及ssh 连接

gitlab docker 搭建

 

docker run --detach --publish 9443:443 --publish 9090:80 --publish 9022:22 --name gitlab  --hostname 192.168.136.136 --restart always  -v /home/software/gitlab/etc:/etc/gitlab -v /home/software/gitlab/logs:/var/log/gitlab -v /home/software/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true gitlab/gitlab-ce:latest   

 

配置ssh

 

 2、配置默认访问密码

     切换到命令运行的目录 cd /opt/gitlab/bin/
      执行如下命令:gitlab-rails console -e production  进行初始化密码

 

 


    在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
    gitlab-rails console -e production
    u=User.where(id:1).first
    u.password='12345678'
    u.password_confirmation='12345678'
    u.save!
    exit
     

 

 


    出现true说明设置成功!
    此时就可以用root/12345678来登录页面

 

vim /home/software/gitlab/etc/gitlab.rb(/etc/gitlab/gitlab.rb) 

external_url 'http://192.168.136.136'
gitlab_rails['gitlab_ssh_host'] = '192.168.136.136'
gitlab_rails['gitlab_shell_ssh_port'] =9022

 

 

remote: GitLab:You are not allowed to force push code to a protected branch on this project

git push -f origin master

remote: GitLab:You are not allowed to force push code to a protected branch on this project

Master分支被保护:

进入项目gitlab 网页版: 设置(Settings)-仓库(Repository) --

 

1.可以直接点该分支旁的Unprotect按钮,解除保护,但是这种方法不推荐

2.第二种方法是在Allowed to push下选择允许那些角色或具体那些用户可以提交,在这里可以选择你自己

设置完毕后再重新提交就成功了。



SSH 参数配置有3个层次:

  1. 命令行参数,如-p 10086, -i /path/to/identity_file 等选项来设置SSH的端口号或认证证书位置
  2. 针对某个用户的配置文件,所在路径为~/.ssh/config,默认是不存在的,需要手动创建
  3. 针对系统所有用户的配置文件,,所在路径为/etc/ssh/ssh_config 参数重要性的顺序也是1>2>3,即越近的配置重要性越高。这里主要讲述第2种情况下的配置方式,即针对~/.ssh/config文件的写法进行说明。

 

添加config文件

在上述.ssh目录下,手动新增一个config 文本文件,为每个账号配置一个Host节点。主要配置项说明:

 

 

配置文件内容:

 


 

# user1配置

Host gitee.com                

HostName gitee.com

IdentityFile C:\Users\cassmall\.ssh\id_rsa

PreferredAuthentications publickey

User xxxxx@163.com

 

# user2配置

Host gitee.com2              

HostName gitee.com

IdentityFile C:\Users\cassmall\.ssh\id_rsa2

PreferredAuthentications publickey

User xxx@cxxstime.com

填写说明:

Host      主机别名,git@的地址

HostName 服务器真实地址

IdentityFile  私钥文件路径,Windows中没有放在C盘下时。注意据对路径变化,比如C盘下是/C/xo/abc、比如D盘下/D/ssh/id_rsa这样

PreferredAuthentications  认证方式

User 用户名(例中为Gitee帐号),邮箱或者用户名

 

 

8.   修改局部Remote origin

 

为每给repository设置remote origin

 

 

 

$ git remote rm origin

 

$ git remote add origin git@gitee.com2:xxxx.git

 

 

 

 

 

 

 

 

 

 

注意:

 

1、git remote add origin git@<填写config中对应用的Host主机别名>:xxxx.git

 

2、如果不知道xxxx.git 地址,可以上Gitee网站复制,如下,红色选框框选部分

 

 

 

 

 


 

 

 

 

3、每个用户涉及都repository都要进行设置

 

 

 

9.   配置局部用户名和邮件

 

为每个repository设置局部用户名和邮件(注意:每个用户涉及都仓库都要设置

 

 

 

# 配置局部用户名

 

git config  user.name "user1_name"

 

 

 

说明:user1_name可以随意

 

 

 

# 配置局部邮件

 

git config  user.email "user1_email"

 

 

 

10.  终端测试SSH Key是否生效

 

执行以下命令ssh -vT git@<config中配置都主机别名>

 

$ ssh -vT git@gitee.com

 

 

 

 

 

 

 

 

 

 

如图,成功了

 

 

使用命令行方式获取服务器上的项目:

 

(1)本地无任何内容,克隆一个完整的工程:

 

git clone git@github.com:lilyef2000/django-study.git 

 

(2)本地已有工程,更新到最新:

 

> git fetch --all
> git remote show
origin
> git remote show origin
* remote django-study
  Fetch URL: git@github.com:lilyef2000/django-study.git
  Push  URL: git@github.com:lilyef2000/django-study.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (local out of date)
> git reset --hard origin/master

 

或使用以下方法:

 

git remote add django-study git@github.com:lilyef2000/django-study.git
git reset --hard django-study/master

 

(3)本地新建的工程上传:

 

现在github建立repo:

 

 

再在本地计算机项目文件夹中执行以下命令:

 

git init
git add .                #(所有内容添加到仓库)
git commit -m "说明"     #告诉git修改版本提交
git remote add laoqi git@github.com:lilyef2000/study_laoqi.git
git push -u laoqi master

 

之后每次提交执行以下命令:

 

git add .                #(所有内容添加到仓库)
git commit -m "说明"     #告诉git修改版本提交
git push -u laoqi master 

 

 

 

 

 

 

 reference:

1https://blog.csdn.net/weixin_56270746/article/details/125427722

2 https://www.runoob.com/w3cnote/git-five-minutes-tutorial.html

3 https://blog.csdn.net/weixin_32899685/article/details/112535018

 4 https://zhuanlan.zhihu.com/p/359108193

posted @ 2023-01-26 09:43  是绵羊在漫步  阅读(1531)  评论(0编辑  收藏  举报