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個層次:
- 命令行參數,如
-p 10086
,-i /path/to/identity_file
等選項來設置SSH的端口號或認證證書位置 - 針對某個用戶的配置文件,所在路徑爲
~/.ssh/config
,默認是不存在的,需要手動創建 - 針對系統所有用戶的配置文件,,所在路徑爲
/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