git 遠端倉庫操作
- 遠端送出一個大一點的檔案
- 解決送出沖突(拉取本地合并送出)
- 分支合并
- idea配置操作git和github
遠端送出一個大一點的檔案
用git遠端送出的一個好處就是,相比較在github或者gitee直接送出檔案顯得更加活泛。然後的話在送出檔案大小的限制上。用git送出的話,可以送出大一點的檔案。而你如果直接拖動檔案到庫裡面的話,會有檔案大小的限制。如果對一個包進行拆分的話,會比較麻煩。
用git送出大的檔案。(或者說是遠端送出)
一種送出方式。其實指令還是比較多的。送出方式比較多,但是我感覺這樣還是比較簡單的。
git工具的人下載下傳不必說了。我隻是想記住一下這個遠端操作。有些遠端送出的話,如果你設定的話,還需要驗證郵箱。
目前自己的這種送出方式,感覺這樣的幾句送出指令還是十分的簡單。
如下,我想把這樣的一個rar包送出到github。我在github上建立了一個倉庫。
如果你要用正常的方式送出的話,當然對于一個學程式設計的人說,這種送出方式顯得不太專業。
這樣送出。
點選Upload這邊,然後在這裡你可以直接将檔案拖到這裡。
我托了,但是這裡說這個檔案太大了。要求必須比25mb小。我的檔案的大小
還記得存儲容量嗎?這個是說存儲容量上面的。
1kB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。
25*1024 = 25600 也就是25MB = 25600kB。但是我的rar檔案大小是65820KB。比這個還要大好多。是以傳不上去。那麼如何傳上去呢?采用遠端送出(git)。
第一步最好在自己的要上傳檔案的目前目錄。不然你還得cd。
打開bash。這裡也會顯示出你的目前路徑。
git init
初始化倉庫,然後你會發現在你的目前檔案路徑下面會出現這樣一個檔案夾。
然後安裝這個工具。這個是用來操作大檔案上傳的Large File Storage
git lfs install
安裝好後,然後你可以進行先跟蹤一下你要上傳的檔案
git lfs track "navicatforever.rar"
這邊我們可以去添加要上傳的檔案(和參考博文有差別,我是這樣做的,成功了。)
git add navicatforever.rar
然後送出(注意這個隻是送出到本地)我們需要先這樣做。forever是我寫的注釋。這個可以随便來。
git commit -m "forever"
然後關聯遠端倉庫。需要找到你建立倉庫的位址。如果你剛剛建立的話,會馬上看見。如果不是的話,可以在這裡看一下,複制一下這個位址。
進行關聯
git remote add origin https://github.com/jgdabc/navicat.git
另外如果你之前設定過ssh秘鑰的話,就不用操作了。如果沒有還需要操作一波。
ssh-keygen -t rsa
然後輸入這個指令後,下面的确認回車就完事。然後你需要找到這個秘鑰。可以看提示。在c盤使用者下面的那個路徑。
打開第二個檔案,然後複制一下那段字元。上面的檔案不用管。
然後打開github
點下面的ssh那邊
點選那個new
然後将你複制的字元串粘貼到key下面。上面的title自己随便起個名字就好了。
這樣做好後,就可以遠端送出了。
git push origin master
就ok了。
解決送出沖突(拉取本地合并送出)
檢視github。需要注意的是,據說如果源庫有分支的話,還需要進行合并分支的操作,不然可能會出錯。
第一次建立倉庫的話,如果想要遠端簡單送出一次檔案的話,就最好建立一個空的庫。這樣送出的話,操作會比較簡單。
如果是多人開發的話,最好先将遠端分支拉取下來,然後進行送出。
首先可以自己檢視自己目前本地以及遠端倉庫的分支
git branch --檢視本地分支
git branch -r -- 檢視遠端分支
本地的和遠端的顯示的這個分支都是顯示在基于固定的遠端關聯的遠端倉庫的位址上進行顯示的。
比如我關聯的是我的practice的一個倉庫,那麼顯示的分支會在這個基礎上顯示。遠端的分支我顯示在這個倉庫上的分支。
這樣的兩個分支裡面的檔案是一樣的。因為我在原有倉庫(本來隻有一個master)的基礎上,又在本地建立了一個分支并送出了上去,沒有更改的話,那麼它的内容會和master一樣。目前你可以進行更改,在一個分支上更改,不會影響另一個分支。
如何給你的遠端倉庫建立一個分支呢?目前也可以直接在遠端倉庫手動建立。現在我們要用git工具進行操作。
如下,可以現在本地建立一個,然後給他推到遠端倉庫就完事。
git checkout -b dev
git push origin dev
我們說完這些,就是要說說如何進行一個分支合并以及分支沖突的處理。存在的問題是如果你的遠端倉庫的目前分支下存在檔案的話,如果你直接送出的話,會送出不成功。
來測試一下,現在我的dev倉庫裡面存在檔案。現在我要用git往這個倉庫裡面送出内容。
現在重寫開一個bash。
按照正常的步驟
git init
跟蹤上傳檔案
git lfs track "PDF.rar"
添加要上傳的檔案
git add "PDF.rar"
先送出本地
git commit -m "nsaksnam"
遠端關聯
git remote add origin https://github.com/jgdabc/pratice.git
進行送出
git push origin dev
但是這樣會出現問題
其實是不允許進行覆寫
一個暴力的辦法就是暴力覆寫
git push -f origin dev
是以這下我的dev分支就被覆寫掉了。
如果我不想覆寫原有的檔案怎麼辦?
這是現在我的dev分支下面的檔案
我現在要送出另外一些檔案,但是我不想覆寫掉原有的檔案
我要送出一個java檔案
git init -- 初始化一個倉庫
git remote add origin https://github.com/jgdabc/pratice.git -- 關聯遠端倉庫
git checkout -b dev -- 建立一個dev分支,然後轉到dev分支
git pull origin dev -- 從遠端分支拉取代碼,進行同步
同步成功
添加一個新的檔案
git commit -m "pratice"
給遠端送出
git push -u origin dev
實作目的。這樣做,源檔案不會被覆寫。
是一個版本控制非常友善的工具。多用用,就明白了。
分支合并
如果希望分支進行合并的話,也是可以的。
現在我的遠端倉庫下面有兩個分支,現在有兩個分支。并且有一個重複得檔案,現在要進行分支合并。
我現在要合并到主分支。那麼我就需要先切換到主分支。
如果你關閉剛剛重新打開一個bash的話,會預設在master的。
那就合并
$ git merge dev
但是這裡我報了一個錯
簡單翻譯就是拒絕合并并不相關的曆史。意思就是本地和遠端的兩個庫的兩個分支是不一樣的版本。
但是我們不管這些,強制合并就完事。
git merge dev --allow-unrelated-histories
合并完就push
$ git push origin master
100%完事,然後再哪個分支上操作,切換就行了。
去遠端庫看看
可以看到送出成功。沒有重複的檔案。
保險的建議就是=如果有檔案的話,最好先pull下來,然後合并自己的。然後再送出。
idea配置操作git和github
打開idea,在這邊搜尋去找
将idea右邊配置好就可以。不同idea版本這邊的面闆是不一樣的,基本的功能配置還是一樣的。
配置一下github,我選的第一個選項,授權登入。
進入網站你授權點選就好,然後這邊會要求你填入密碼。
登入
這個idea會檢測安全,我之前破解過,今天等不上去了,是以又去吧那個host檔案修改了一波。離譜的是這個idea剛剛還彈出提示,說我使用了fastgithub。這也可以檢車出來,你是真nb啊!
順便把終端安排一下,改為bash
然後在idea裡面來看一下
初始化倉庫後,項目會變紅。
配置好後這邊也會出現git相關的按鈕
建庫
推送
可以說非常友善。