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來登錄頁面

 

 

 

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 [email protected]

填寫說明:

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 [email protected]: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 [email protected]

 

 

 

 

 

 

 

 

 

 

如圖,成功了

 

 

使用命令行方式獲取服務器上的項目:

 

(1)本地無任何內容,克隆一個完整的工程:

 

git clone [email protected]:lilyef2000/django-study.git 

 

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

 

> git fetch --all
> git remote show
origin
> git remote show origin
* remote django-study
  Fetch URL: [email protected]:lilyef2000/django-study.git
  Push  URL: [email protected]: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 [email protected]: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 [email protected]: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章