IDEA初次拉取GitLab項(xiàng)目過程
一、前提條件,安裝Git工具
確保您的計(jì)算機(jī)上已經(jīng)安裝了 Git。如果未安裝,請先下載并安裝 Git。
二、GitLab獲取訪問令牌token
1、配置ssh免密登錄
使用管理員打開命令行輸入:ssh-keygen -t rsa -C xxx@aaa.com(你的郵箱)

到用戶目錄下.ssh查看id_rsa.pub文件

打開復(fù)制里面的內(nèi)容

添加到GitLab中

點(diǎn)擊保存。
2、獲取 GitLab 個(gè)人令牌

創(chuàng)建后,可以查看和復(fù)制生成的token:
注意:令牌內(nèi)容要保管好,下次就看不到了

3、添加 GitLab 服務(wù)
首先需要在git中配置好

點(diǎn)擊GitLab

三、第一次代碼準(zhǔn)備,從master上創(chuàng)建一個(gè)自己的分支
# 檢出倉庫,下載倉庫到本地 git clone git@git.n.xxx.com:xxxx.git # 創(chuàng)建新分支并立即切換到新分支 git checkout -b xxx # 創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程): git push origin xxx # 切換分支: git checkout master # 刪除分支: # -d選項(xiàng)只能刪除已經(jīng)參與了合并的分支,對于未有合并的分支是無法刪除的。如果想強(qiáng)制刪除一個(gè)分支,可以使用-D選項(xiàng) git branch -D xxx # 切換分支: git checkout xxx # 刪除分支: git branch -D master # 拉取最新代碼 git pull # 以后只在自己的分支開發(fā),拉取遠(yuǎn)程master合并到自己分支上 git merge origin/master # 推送代碼 git push
四、遇到的問題及解決方案
1、git filename too long
出現(xiàn)“filename too long”錯(cuò)誤處理 git config --system core.longpaths true
2、git error: The following untracked working tree files would be overwritten by checkout
問題分析:
問題出在 Error 所列出的文件在本地的當(dāng)前分支下未授權(quán)給 git 追蹤,但同樣命名的文件,也即出現(xiàn)在另一個(gè)(遠(yuǎn)程)分支下的同一文件卻正在遠(yuǎn)程倉庫或其它分支被 git 進(jìn)行追蹤,接下來的操作(git merge/checkout …)使得 git 需要呈現(xiàn)的是遠(yuǎn)程或另一個(gè)分支下被追蹤的同名文件,但 git 并不知道該如何處理當(dāng)前狀態(tài)下這些未被追蹤的同名文件,請求你將它們移開或刪除,從而在你想要進(jìn)行的操作之后直接呈現(xiàn)這些文件在目標(biāo)狀態(tài)下的版本。
解決方案:
1、如果你想保留這些未追蹤文件的變化
將這些提醒撞名的文件添加到 git 的追蹤當(dāng)中,并利用 stash 將這些文件的狀態(tài)進(jìn)行存放備份,然后執(zhí)行你本來想要執(zhí)行的 git 命令 overwrite 這些文件。實(shí)現(xiàn):
$ 1. 利用 add 將這些文件進(jìn)行追蹤 $ 2. git stash # 利用 stash 暫存這些文件的狀態(tài) 【注:stash 將暫存當(dāng)前狀態(tài)下所有未 push 的改變】 $ 3. 執(zhí)行你本來想要執(zhí)行的命令 (git pull/merge/checkout ...)
2、 這些文件已經(jīng)過時(shí)或純屬冗余,別 bb,我就想 overwrite
那很簡單,選擇一切帶有 -f 的操作,謹(jǐn)慎使用簡單恐怖的 clean 命令。實(shí)現(xiàn)舉例:
$ git checkout -f target-branch # override 未追蹤但撞名的文件
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot啟動(dòng)后自動(dòng)執(zhí)行初始化任務(wù)的五種方法
在 Spring Boot 開發(fā)中,我們經(jīng)常需要在應(yīng)用啟動(dòng)后立即執(zhí)行初始化任務(wù),本文將深度解析 ??5 種主流實(shí)現(xiàn)方案??,大家可以根據(jù)自己的需求自行選擇2025-04-04
Java實(shí)現(xiàn)JDK動(dòng)態(tài)代理的原理詳解
這篇文章主要介紹了Java實(shí)現(xiàn)JDK動(dòng)態(tài)代理的原理詳解,Java常用的動(dòng)態(tài)代理模式有JDK動(dòng)態(tài)代理,也有cglib動(dòng)態(tài)代理,本文重點(diǎn)講解JDK的動(dòng)態(tài)代理,需要的小伙伴可以參考一下的相關(guān)資料2022-07-07
Java中的CAS(Compare-And-Swap)操作示例詳解
CAS是一種原子操作,用于在多線程環(huán)境中實(shí)現(xiàn)無鎖(lock-free)的線程安全編程,下面通過本文給大家介紹Java中的CAS(Compare-And-Swap)操作示例詳解,感興趣的朋友一起看看吧2025-06-06
PowerJob的GridFsManager工作流程源碼解讀
這篇文章主要為大家介紹了PowerJob的GridFsManager工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
java實(shí)現(xiàn)系統(tǒng)多級文件夾復(fù)制
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)系統(tǒng)多級文件夾復(fù)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Springboot通用mapper和mybatis-generator代碼示例
這篇文章主要介紹了Springboot通用mapper和mybatis-generator代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
Java超詳細(xì)講解接口的實(shí)現(xiàn)與用法
Java接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為2022-04-04

