gitlab
1. 使用場景
gitlab 官網開源環境 、 公司內部部署 gitlab 環境
2. 基本原理
分三塊區域:工作區、緩存區、倉庫,通過命令行傳遞數據。
3.基本配置
配置用戶名與郵箱:
git config --global user.name xxxxx,
git config --global user.email xxx@x
有以下幾種方式:
vscode 終端控制臺 (推薦) ( vscode : 退出 git,切換回 powershell,使用 q 鍵 )
文件夾右鍵打開git bash
cmdgit config --global --edit
4.常用命令
git init 在當前文件夾創建一個git倉庫
git add 從當前文件夾添加文件到暫存區域 git add hello.html 添加當前目錄下的指定文件 (加空格分割路徑) git add . 添加當前文件夾
git commit -m "do what" 從暫存區域提交代碼到代碼倉庫,提交說明為 “do what”
git diff 用來比較倉庫,暫存區,工作目錄的不同
git reset git reset HEAD~用來回退到上個提交的版本,做了兩件事:1.修改了HEAD指向(倉庫當前版本回退到上個),2.將倉庫上個版本的文件覆蓋到暫存區域,用以丟棄上次的提交,(工作目錄,文件夾中的文件還沒變)
git log 查看版本提交記錄
git log --oneline --decorate --all --graph 顯示簡單摘要的辦法
git status 查看git倉庫當前狀態
git branch 查看分支
git branch xxx 創建分支 git branch -d 分支名字A //刪除指定分支A
git checkout xxx 切換分支 git checkout-b xxx 創建并切換分支
git merge 合并分支 git merge dep 合并dep與當前分支
git clone url 下載遠程代碼
git pull 拉取/ 同步 倉庫代碼 git pull origin master 拉取遠程指定分支(master)
git push 推送/ 上傳 暫存區代碼至倉庫 git push origin now 推送指定分支(now)至遠端 git push -f 強制推送到遠程分支
4.1 通用 git 命令
git branch -a 查看所有分支 包括遠端
git checkout dev 切換分支
git checkout -b mine 新建分支
git branch -d dev 刪除本地分支
git push origin :dev 刪除遠端分支
git reset --hard head^ 回退到上次提交
git log / git reflog
git reset --hard sddka 回退到指定版本
5. 實例
5.1 登陸你的網站 https://gitlab.youcompany.cn/
5.2 確認你將要拉取的代碼權限 ( 即是否允許你上傳下載該項目代碼:項目有沒有對你開放? 有沒有把你加到項目開發成員列表? )
5.3 配置你的git: 打開 vscode 終端控制臺( ctrl + ~ ) - 鍵入git config --global user.name xxxxx git config --global user.email xxx@x - 回車
5.4 在本地選好文件夾 - 命名 - vscode 控制臺切換到該文件夾目錄下 (cd ../my )
5.5 拉取代碼 git clone https://gitlab.youcompany.cn/my/new-space.git ( 此 URL 為你項目對應 https 選項下的地址)
5.6 切換到項目文件> cd new-space
5.7 在本地文件夾( 工作區 )上隨意編輯
5.8 添加到暫存區git add .
5.9 上傳到倉庫且添加備注 git commit -m 'add files'
5.10 提交推送請求git push
5.11 登錄你的網站https://gitlab.youcompany.cn/ - 切換到所在項目 - 選擇左側菜單Merge Requests - 選擇New merge request 進行分支合并 - 選擇好 Source branch 與Target branch 合并即可
( 創建分支 再合并 也可在 vscode 終端控制臺完成 ,上述操作也可在網頁進行,如果只是少量文件的話。。 怎么方便怎么來吧 )
6. 其他
6.1 如果 不想看到 ssh 不存在提示,可以給自己配一個:
git bash 鍵入 :
ssh-keygen -t rsa -C 'xx-name@xx-email.com.cn'
或者 ssh-keygen -t rsa -C 'xx-name@xx-email.com.cn' -f ~/.ssh/gitlab-rsa
(C:Usersadmin.ssh )
生成的文件夾內容復制出來貼到 設置里對應內容即可
6.2 控制臺 合并分支: 切換到要合并的目的分支 如 master - git pull 更新代碼 - git merge 要合并的分支 如 dep - git commit - git push
6.3 多分支切換 前一般要提交改動至緩存區 git add hello.txt git commit -m 'add now'
6.4 代碼回滾 切換到需要回滾分支 git checkout now - 查看版本號 git log - 回退至指定版本 git reset --hard 37591b335cef182fce07a5567671174d482c484c / git reset HEAD
6.4.1 代碼回滾2 查詢提交記錄 git reflog - 提交回滾請求 git reset --hard HEAD~1 - 強行推送 git push -f (
若提示 無權限回滾,設置默認 master 保護取消掉: settings -Repository -Protected Branches -Unprotect
)
6.4.2 代碼回滾3git log --oneline -git reset --hard commitID號 - git push -f
6.5 git log git log --oneline git reflog 區別
git log 僅看到少數幾條信息
git log --oneline 可以看到當前存在所有信息
git reflog 查看所有曾經存在信息,并可回滾至指定版本 ( 通常使用非 master 分支,使用其他分支回滾代碼影響較小 雖然提交命令啥的多了行代碼 :git pull origin dep )
6.6SSL certificate problem: certificate has expired
git config --global http.sslVerify false
7.美文欣賞
git 使用
分支
總結
- 上一篇: C++ using的三种使用策略以及具体
- 下一篇: redis可视化工具