之前說過Git與IDEA強(qiáng)強(qiáng)聯(lián)合(HTTPS協(xié)議連接)那么如何使用命令行來(lái)推送代碼呢?
如下圖所示為一個(gè)基于layui的前端代碼:
目錄工作區(qū)文件:
本地內(nèi)容就是將這些內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)
首先使用git命令初始化git本地倉(cāng)庫(kù):
-
git init
創(chuàng)建本地倉(cāng)庫(kù)
以出現(xiàn).git
命令為參考:
創(chuàng)建git倉(cāng)庫(kù)后vs code也有顏色的變化:
除了顏色的變化外還有字母呢U
,它們的含義是:
紅色,未加入版本控制;
綠色,已經(jīng)加入版本控制暫未提交;
藍(lán)色,加入版本控制,已提交,有改動(dòng);
白色,加入版本控制,已提交,無(wú)改動(dòng);
灰色:版本控制已忽略文件。
git文件標(biāo)識(shí):
A: 增加的文件.
C: 文件的一個(gè)新拷貝.
D: 刪除的一個(gè)文件.
M: 文件的內(nèi)容或者mode被修改了.
R: 文件名被修改了。
T: 文件的類型被修改了。
U: 文件沒有被合并
X: 未知狀態(tài)
然后綁定用戶名和郵箱,便于記錄提交者信息:
-
git config --global user.name
和git config --global user.email
將需要提交的文件或代碼提交到暫存區(qū):
-
git add
將文件添加到緩存區(qū)
如果之前選擇在根目錄的上級(jí)創(chuàng)建git倉(cāng)庫(kù)的話使用 git add [dir]
dir為路徑添加到緩存區(qū),或者使用git add filename
添加指定目錄至緩存區(qū)。如果是在根目錄內(nèi)部,直接git add .
將當(dāng)前更改文件添加到緩存區(qū),如下圖所示:
warning: LF will be replaced by CRLF
出現(xiàn)該警告的原因是不同系統(tǒng)下的換行符不一樣,只需了解即可,git會(huì)自動(dòng)檢測(cè)系統(tǒng)內(nèi)核,將換行符自動(dòng)轉(zhuǎn)換,具體了解請(qǐng)移步IDEA和VS code設(shè)置默認(rèn)換行符為L(zhǎng)F感謝作者!
由于git在push時(shí)會(huì)自動(dòng)轉(zhuǎn)換,所以直接統(tǒng)一格式,簡(jiǎn)單很多。這個(gè)得看個(gè)人用的上面系統(tǒng),Windows默認(rèn)是crlf,Linux默認(rèn)是lf。直接將vs code的換行符改為L(zhǎng)F,并且關(guān)閉自動(dòng)轉(zhuǎn)換,這樣就不需要所謂的轉(zhuǎn)換,在任何系統(tǒng)都可以使用。
注意將git的自動(dòng)轉(zhuǎn)換功能關(guān)閉:git config --global core.autocrlf false
git config --global core.autocrlf true
Git可以在你push時(shí)自動(dòng)地把行結(jié)束符CRLF轉(zhuǎn)換成LF,而在pull代碼時(shí)把LF轉(zhuǎn)換成CRLF。用core.autocrlf來(lái)打開此項(xiàng)功能,如果是在Windows系統(tǒng)上,把它設(shè)置成true,這樣當(dāng)簽出代碼時(shí),LF會(huì)被轉(zhuǎn)換成CRLF,如果本來(lái)就是LF,就會(huì)兩者自動(dòng)轉(zhuǎn)換。
git config --global core.autocrlf input
Linux或Mac系統(tǒng)使用LF作為行結(jié)束符;當(dāng)一個(gè)以CRLF為行結(jié)束符的文件不小心被上傳時(shí)需要進(jìn)行修正,把core.autocrlf設(shè)置成input來(lái)告訴 Git 在push時(shí)把CRLF轉(zhuǎn)換成LF,pull時(shí)不轉(zhuǎn)換
git config --global core.autocrlf false 關(guān)閉自動(dòng)轉(zhuǎn)換功能
關(guān)閉后就不再警告了,但是本地的換行符必須是LF。
可以看到文件全部變成了A
,已添加到了本地庫(kù):
-
git remote add origin [遠(yuǎn)程倉(cāng)庫(kù)地址]
添加遠(yuǎn)程倉(cāng)庫(kù)
git remote -v
查看遠(yuǎn)程倉(cāng)庫(kù)路徑
git remote add origin [addr]
添加遠(yuǎn)程倉(cāng)庫(kù)
登錄gitee選擇倉(cāng)庫(kù),復(fù)制倉(cāng)庫(kù)地址,在命令行添加
https地址的地址的最后一位是倉(cāng)庫(kù)名,前面一位是賬號(hào)。
在倉(cāng)庫(kù)管理中前面一位是倉(cāng)庫(kù)歸屬,很少用到,在gitee控制臺(tái)才會(huì)用到;后面一位是倉(cāng)庫(kù)名,上傳代碼時(shí)使用:
更多請(qǐng)移步官方文檔
回到添加遠(yuǎn)程地址,如圖添加成功:
-
git commit -m “info”
上傳版本管理的分子區(qū),也可以說是預(yù)提交區(qū)。
這里的文件或代碼將會(huì)直接提交到遠(yuǎn)程倉(cāng)庫(kù),如果某些文件不是必須的,需要在提交時(shí)在gitignore
文件配置需要忽視的文件。
-
git push [遠(yuǎn)程倉(cāng)庫(kù)名] [本地分支]:[遠(yuǎn)程倉(cāng)庫(kù)]
將當(dāng)前分支push到遠(yuǎn)程倉(cāng)庫(kù)
推送到遠(yuǎn)程倉(cāng)庫(kù)有兩種存儲(chǔ)方式:
- 一個(gè)倉(cāng)庫(kù)放一個(gè)工作區(qū)文件所以可以新建文
- 一個(gè)倉(cāng)庫(kù)放多個(gè)工作區(qū)文件,需要新建文件夾
只放一個(gè)文件,這種方式更新?lián)Q代容易,適用于長(zhǎng)期維護(hù)的項(xiàng)目:
放多個(gè)文件,目錄清晰,一個(gè)倉(cāng)庫(kù)放多個(gè)文件,可以用于放完整的項(xiàng)目文件:
一個(gè)項(xiàng)目的就比較容易了,直接推送即可。
放兩多個(gè)文件夾的步驟如下
(1)在gitee上新建若干文件夾。
(2)將遠(yuǎn)程倉(cāng)庫(kù)直接克隆到本地
如下圖所示在本地已經(jīng)有了對(duì)應(yīng)的文件夾(倉(cāng)庫(kù)內(nèi)部):
(3)將需要上傳的文件復(fù)制到對(duì)應(yīng)目錄下
在最外層也就是克隆遠(yuǎn)程倉(cāng)庫(kù)文件夾的目錄下,將所有文件推送到遠(yuǎn)程倉(cāng)庫(kù):
這里需要注意的是:
- 克隆下來(lái)的文件需要重新綁定遠(yuǎn)程地址
- 遠(yuǎn)程地址為新建文件外部的倉(cāng)庫(kù)
- 代碼是提交到倉(cāng)庫(kù)的分支上,而不是倉(cāng)庫(kù)中
在gitee的管理界面的我的下面可以看到屬于自己的兩個(gè)倉(cāng)庫(kù)
這是我的倉(cāng)庫(kù)bolen
,有獨(dú)一無(wú)二的倉(cāng)庫(kù)地址https://....bolen.git
,倉(cāng)庫(kù)是用來(lái)保存分支的。每個(gè)倉(cāng)庫(kù)都有一個(gè)默認(rèn)的分支master
。
在gitee操作面板上可以看到分支,
那么如何添加到指定分支呢?比如,指定添加到bolen,master,或者server分支,這里有兩個(gè)決定性因素:
- 遠(yuǎn)程倉(cāng)庫(kù)地址
- 分支名稱
在推送時(shí)命令是git push [遠(yuǎn)程倉(cāng)庫(kù)名] [本地分支]:[遠(yuǎn)程分支名]
,這里遠(yuǎn)程倉(cāng)庫(kù)名和遠(yuǎn)程分支名確定了分支的唯一性。
使用git remote add origin [brachname]
后綁定了新建的倉(cāng)庫(kù),在推送到推送到master
分支,或新建一個(gè)分支。通過倉(cāng)庫(kù)名和分支名決定分支唯一性。
(4)推送本地分支到遠(yuǎn)程倉(cāng)庫(kù)分支
之前已經(jīng)將遠(yuǎn)程倉(cāng)庫(kù)克隆到本地了,而且將需要上傳的代碼復(fù)制到相應(yīng)的文件夾下,再經(jīng)過上面的配置,確定定了分支的唯一性,接下來(lái)上傳到遠(yuǎn)程倉(cāng)庫(kù),
上面紅線的地方換為自己的分支名即可
如下圖代碼已上傳到對(duì)應(yīng)文件夾
在該倉(cāng)庫(kù)中也有兩個(gè)文件夾,分別為項(xiàng)目的前端和后端
上傳的到此結(jié)束了,重點(diǎn)在于倉(cāng)庫(kù)名和分支的唯一性,不然會(huì)出現(xiàn)各種錯(cuò)誤。
-
git remote rm origin
刪除舊的遠(yuǎn)程倉(cāng)庫(kù)
如果父文件或當(dāng)前文件遠(yuǎn)程倉(cāng)庫(kù)綁定錯(cuò)了可以刪除舊文件夾再添加新建文件夾的倉(cāng)庫(kù):
另外在推送到默認(rèn)master
文件夾時(shí)出現(xiàn)如下圖錯(cuò)誤的請(qǐng)移步git 上傳出現(xiàn)“ ! [rejected] master -> master (non-fast-forward)”感謝作者!
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-784106.html
這是一個(gè)簡(jiǎn)單的提交代碼的部分,在實(shí)際開發(fā)會(huì)遇到很多問題,如分支的構(gòu)建與融合,代碼沖突,版本回退等將在遇到實(shí)際問題時(shí)圖文跟新。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-784106.html
到了這里,關(guān)于git命令行推送本地分支到遠(yuǎn)程倉(cāng)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!