前言
情況一:項目在本地從零開發,未commit或者pull過任何Git版本,需要將自己本地的項目上傳到GitLab新建的項目中。
情況二:項目是從遠端clone到本地進行開發的,需要將該項目遷移到新建的GitLab項目中。
本文只針對第一種情況進行詳細說明。
本文使用Git命令行操作。
步驟
一 、在GitLab上新建Git倉庫。


點擊創建完成之后,生成空的項目倉庫,如下圖:

在界面的下部有命令行指令的說明:

至此,GitLab上的步驟告一段落。
二、建立本地Git倉庫。
直接上代碼:
1.初始化本地倉庫。在本地項目根目錄中打開Gti命令行,執行:
git init //初始化本地倉庫
2.將本地項目的所有文件添加到暫存區。小數點 “.” ,意為添加文件夾下的所有文件;也可以將 “.” 換成具體的文件名,如果想添加項目中的指定文件,那就把 “.” 改為指定文件名即可。
git add . //將本地項目的所有文件添加到暫存區
3.將暫存區的文件提交到本地倉庫,並添加說明信息:
git commit -m "說明信息"
至此,本地項目提交到本地倉庫完成。
三、將本地倉庫代碼推送到GitLab遠端倉庫。
1.首先,建立本地倉庫和遠端GitLab倉庫的關聯關系:
git remote add origin https://gitlab*********************.git
在這一步時如果出現錯誤:fatal:remote origin already exists,先清除一下關聯關系:
git remote rm origin
再重新關聯:
git remote add origin https://gitlab*********************.git
2.檢查關聯是否已建立且正確:
git remote -v
3.將代碼由本地倉庫上傳到 GitLab 遠端倉庫,依次執行下列語句。
獲取遠程庫與本地同步合並:
git pull --rebase origin master
如果遠程庫不為空必須做這一步,否則后面的提交會失敗,不加這句可能報錯,原因是 GitLab中的 README.md 文件不在本地倉庫中,可以通過該命令進行代碼合並。
把當前分支 master 推送到遠程:
git push -u origin master
執行完之后如果無錯誤就上傳成功了,需要提示的是這里的 master 是 GitLab默認的分支,如果你本地的當前分支不是 master,就用git checkout master命令切換到master分支,如果你想用本地當前分支上傳代碼,則把上面兩條命令里的 master 切換成你的當前分支名即可。
如果推送不成功,先pull一下,如果報錯fatal: refusing to merge unrelated histories,說明本地和遠端的git庫是兩個 根本不相干的 git 庫, 然后本地要去推送到遠端, 遠端覺得這個本地庫跟自己不相干, 所以告知無法合並。解決方法:強制合並:
git pull origin master --allow-unrelated-histories
后面加上 --allow-unrelated-histories ,意思是把兩段不相干的分支進行強行合並。
然后再將代碼推送到遠端。
至此,操作成功。
原文鏈接:https://www.jianshu.com/p/c74ae40b5127