Git拉取和提交到GitLab的命令

GitLab簡介

GitLab是類似於GitHub的倉庫管理系統,和GitHub一樣,它能夠提交/拉取代碼,不同的是,GitLab可以部署在自己服務器上,數據庫等信息是自己掌握的,適合團隊內部協作開發。可以理解爲個人版本的GitHub。

記錄一下Git拉取提交文件到GitLab的命令。

前提

  1. 下載安裝Git

  2. 在GitLab上有賬號

  3. 更改Git Bash的起始位置:右鍵屬性,改爲自定義文件夾workspace,作爲本地git倉庫

  4. 在GitLab上配置SSHKey。目的是使客戶端和服務端建立信任,每次操作就不需要再重複輸入密碼。
    具體操作: 首先需要在電腦上生成SSHKey,使用命令:
    ssh-keygen -t rsa -C "[email protected]"(引號內填自己的郵箱)一路默認回車,最後就在.ssh目錄下得到了兩個文件:id_rsa(私有密鑰)和id_rsa.pub(公有密鑰),把id_rsa.pub的內容複製到GitLab的SSH key中。

上述命令和以下所有命令均在GIt Bash中執行。

拉取命令

  1. git clone + 項目地址(項目地址:在GitLab中打開項目後直接複製"Clone with SSH")
  2. git pull由於已經關聯了地址,之後更新可以用git pull直接更新到最新。

提交命令

提交新項目(未初始化Git倉庫)
  1. git init使用cd命令進入到工程目錄下,即進入工作區,把倉庫變爲可管理的git倉庫,得到一個.git文件夾

  2. git add .將倉庫下的所有內容添加到暫存區,如果只是個別內容就把“.”改爲文件名

  3. git commit -m "註釋內容"將暫存區的內容提交到本地版本庫(參數-m很重要)

  4. git remote add origin + 遠程倉庫的地址(在GitLab上覆制項目地址)把本地倉庫和遠程倉庫關聯
    如果出現 fatal:remote origin already exists
    那麼輸入命令:git remote rm origin
    然後再重複:git remote add origin + 遠程倉庫的地址

  5. git push -u origin master把當前分支master推送到遠程倉庫。參數-u的意思是,只要本地做了提交,以後就可以直接用git push代替原命令進行推送

普通提交(已初始化Git倉庫)
  1. git add .添加到暫存區(特別是工作區有新文件的時候必須要先添加到暫存區)
  2. git commit -m "註釋內容"會對修改的文件進行註釋,提交到版本庫
  3. git push由於第一次關聯過地址,所以不用再執行上述第四步,直接推送到GitLab
提交到分支
  • 使用IDEA提交/拉取:右鍵Git–>Commit File–>Repository–> push/pull;
    使用IDEA切換分支

  • git checkout -b + 分支

  • 遇到的問題
  1. fetch first
    fetch first
    這個問題是說遠程倉庫的版本和本地倉庫不一致,要先fetch first,但是fetch比較麻煩,我選擇用git pull拉取最新版本merge到本地,命令如下:
    git pull --rebase origin + 分支

  2. non-fast-forward
    non-fast-forward
    錯誤原因:文件衝突。遠程倉庫和本地倉庫文件數量不一致(遠程倉庫有的文件在本地倉庫中沒有,或者不是在遠程倉庫文件基礎上修改的。)這個時候就強制push就對了:
    git push origin + 分支 -f

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