idea git基本用法(從git下載、更新、提交代碼)


  從svn轉過來的朋友,會發現使用git沒有svn那樣順手,但還是得用。

  說明:

  在idea中使用git不需要我們本地安裝git,也無需手動安裝git插件。

1.從git下載項目

   想在idea中下載git項目,如果此時我們已經打開了其它項目,需要先關閉本項目,idea不像eclipse,不能在同一個窗口中管理多個項目。

  關閉后,會自動來到歡迎界面

  輸入git項目的訪問地址,以“.git”結尾;

  指定項目存放路徑,如果沒有自動生成對應的項目目錄,需要自己手動加上。

  輸入用戶名和密碼

3.更新項目代碼

  項目的更新,共分兩種情況。

  第一種情況:本地代碼沒做任何修改

  此時,我們直接更新代碼就完了,找到工具欄的這個圖標,點擊更新。

  如果工具欄沒有的話,選中項目,右鍵:

  把一個分支中的修改整合到另一個分支的辦法有兩種:merge(合並) 和 rebase(衍合);  

  合並比較容易理解:

  同級分支+父節點,三方合並產生C5。

  衍合:分支上的變化會打成補丁,在同級主支上重演一遍,生成新的主節點。

  更為詳細、復雜的區別,見文末推薦。 

  用哪種方式都行。 

  第二種情況:本地代碼已經修改。 

  在實際開發過程中,一種情況會經常出現,那就是:兩人或多人同時修改同一個文件。

  后提交代碼的人將會提交失敗,也就是:代碼沖突。

  此時,我們不能立刻更新代碼,一旦更新將會導致本地修改的代碼被覆蓋掉。

  正確做法應該是:

  將代碼先提交到本地倉庫。

  commit 

  然后再更新代碼;

  最后,將更新后的代碼與本地倉庫代碼進行比較。

  有一種更為簡單的方式,就是:

  如果改動比較小的話,將自己的代碼拷貝出來,直接更新,然后,把自己添加的代碼再加進去就完事了。

4.提交項目代碼

  提交代碼,也分兩種情況。

  第一種情況:本地是最新代碼;

  也就是說:你本地代碼就是遠程倉庫上最新代碼,沒有其它人在你之前提交代碼

  或者,雖然別人先於你提交,但是,代碼上互不影響,沒有出現交叉的情況。

  勾選需要提交的代碼並添加注釋;

  這里需要注意的是:

  與svn不同,git的commit只是將代碼提交到了本地倉庫,並沒有推送到遠程倉庫(別人是無法看到你的代碼的)。

  點擊上圖中的“倒三角”,選擇:Commit and Push;

  只要沒有錯誤,就能提交,點擊"Commit and Push";

  這樣,在代碼提交到本地倉庫后,就會彈出推送頁面;

  Push即可。

  第二種情況:代碼沖突。

  當我們push失敗的時候,一般就是由於代碼沖突造成的。

  此時,我們已經將代碼提交到了本地倉庫,與遠程倉庫進行對比,修改好重新CommitAndPush。  

5.新建分支

  當項目變動比較大的時候,我們往往會選擇新建分支,將修改好的代碼提交到新分支上。

  切換到Git視圖

  一般會在idea底部

  如上圖所示,Git倉庫分為兩種:

  Local:代表本地倉庫;

  Remote:代表遠程倉庫。

  選中本地當前分支,點擊左側的+號。

  注意:只有選中分支,左邊的+號才能點擊。

  給分支起個名字   

  這樣,本地就從mvc-model切換到了test分支上。

  點擊工具欄的提交按鈕,提交並推送,完成后,遠程倉庫就增加了test分支,並且這次提交的代碼也會被放到test中。 

  如果沒有git視圖的話,選中項目,遵照此路徑打開

6.刪除分支

  無論是本地倉庫還是遠程倉庫,只要是分支都可以進行刪除操作。

  先說本地倉庫

  只要不是正在使用的分支都可以刪除

  如果需要同步到遠程倉庫上,commit and push即可。 

  再說遠程倉庫

  只要不是主分支,其它分支都能刪除

  這里再講一下衍合分支

  由於上面在演示的時候,我誤把新修改的代碼提交到了test分支上;

  mvc-models分支上就不是最新代碼了

  如何把test分支上的代碼遷移到mvc-models分支上?

  選中test分支,右鍵選擇rebase

  這樣,mvc-models就重演了一遍test上的內容。

  相當於將test上的代碼更新到了mvc-models上。

  此時,我們將test分支刪除,mvc-models記錄也會發生變化:

  本地倉庫test分支已經消失;

  最新代碼歸屬也回到了mvc-models上。 

  但需要注意的是:

  遠程倉庫上test分支並沒有消失。

  遠程倉庫上的mvc-models還是原來的,並沒有和test攪合在一起。

  test分支卻默默發生了些許變化:

  最后提交的代碼歸屬到了mvc-models分支上。

  如何將變化同步更新到遠程倉庫上? 

  此時,如果我們點擊commit的話,由於當前代碼與本地倉庫代碼並沒有發生任何改變,所以我們根本無法commit。

   我們再仔細回憶一下命令:

  commit在git里是想本地代碼提交到本地倉庫;

  push在git里才是將本地倉庫發生的變化同步到遠程倉庫。我們此時也是直接操作的是本地倉庫,和代碼沒有任何關系。

  所以,我們只需要使用push命令即可。

  選中項目,右鍵

  Push

  推送成功 

  這時,test分支上的代碼就更新到了mvc-models分支上啦

  如果需要刪除test分支的話,下面兩種方式均可。

7.切換分支

  不管是本地還是遠程,選中要切換的分支,右鍵"Check Out",就會把選中的分支下載下來作為開發節點。

8.查看git地址

  查看當前項目的git地址

  選中,點擊修改,就可以復制Git地址啦。

9.回滾/還原 

  當我們修改代碼后,又不想提交,且需要還原的時候,就需要git的回滾操作啦。

  選中要還原的文件

  如果“Rollback”是灰色的(不能點擊),說明此文件和git上代碼是一致的。

10.分支重命名

  注意:

  在idea中,無法切換主分支,以及對分支進行重命名。

  錯誤示例:

  以對分支進行重命名為例

  需要在本地進行修改,然后再推送到遠程倉庫上。

  重命名成功,選中該分支,右鍵,push

  但遠程倉庫上並沒有重命名成功 

  提交代碼的時候還是提交到mvc-models上

  別急,雖然重命名的方式行不通,但是,我們可以點擊上圖中的mvc-models分支,將名字改成:mvc-modules,就成了新建分支

  推送成功

 

  將原來的分支刪除即可。 

  如果此時,當git上,mvc-models為主分支的話,就會刪除失敗。

  需要在git上將主分支切換成其它分支,再次刪除就可以了。

20210312

11.單個文件與git資源庫文件進行對比

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM