Git 02: git管理碼雲程式碼倉庫 + IDEA整合使用git

2022-10-29 18:00:23

Git專案搭建

建立工作目錄與常用指令

工作目錄(WorkSpace)一般就是你希望Git幫助你管理的資料夾,可以是你專案的目錄,也可以是一個空目錄,建議不要有中文。

日常使用只要記住下圖6個命令:

本地倉庫搭建

建立本地倉庫的方法有兩種:一種是建立全新的倉庫,另一種是克隆遠端倉庫。

建立全新的倉庫,需要用GIT管理的專案的根目錄執行

# 在當前目錄新建一個Git程式碼庫
$ git init

執行後可以看到,僅僅在專案目錄多出了一個.git目錄,關於版本等的所有資訊都在這個目錄裡面

克隆遠端倉庫

另一種方式是克隆遠端目錄,是將遠端伺服器上的倉庫完全映象一份至本地

# 克隆一個專案和它的整個程式碼歷史(版本資訊)
$ git clone [url]  # https://gitee.com/xun-study/xun-share.git

Git檔案操作

檔案的四種狀態

版本控制就是對檔案的版本控制,要對檔案進行修改、提交等操作,首先要知道檔案當前在什麼狀態,不然可能會提交了現在還不想提交的檔案,或者要提交的檔案沒提交上。

  • Untracked: 未跟蹤, 此檔案在資料夾中, 但並沒有加入到git庫, 不參與版本控制. 通過git add 狀態變為Staged.
  • Unmodify: 檔案已經入庫, 未修改, 即版本庫中的檔案快照內容與資料夾中完全一致. 這種型別的檔案有兩種去處, 如果它被修改, 而變為Modified. 如果使用git rm移出版本庫, 則成為Untracked檔案
  • Modified: 檔案已修改, 僅僅是修改, 並沒有進行其他的操作. 這個檔案也有兩個去處, 通過git add可進入暫存staged狀態, 使用git checkout 則丟棄修改過, 返回到unmodify狀態, 這個git checkout即從庫中取出檔案, 覆蓋當前修改 !
  • Staged: 暫存狀態. 執行git commit則將修改同步到庫中, 這時庫中的檔案和本地檔案又變為一致, 檔案為Unmodify狀態. 執行git reset HEAD filename取消暫存, 檔案狀態為Modified

檢視檔案狀態

上面說檔案有4種狀態,通過如下命令可以檢視到檔案的狀態

#檢視指定檔案狀態
git status [filename]

#檢視所有檔案狀態
git status

# git add .                  新增所有檔案到暫存區
# git commit -m "訊息內容"    提交暫存區中的內容到本地倉庫 -m 提交資訊

忽略檔案

有些時候我們不想把某些檔案納入版本控制中,比如資料庫檔案,臨時檔案,設計檔案等

在主目錄下建立".gitignore"檔案,此檔案有如下規則

  • 忽略檔案中的空行或以井號(#)開始的行將會被忽略。
  • 可以使用Linux萬用字元。例如:星號(*)代表任意多個字元,問號(?)代表一個字元,方括號([abc])代表可選字元範圍,大括號({string1,string2,...})代表可選的字串等。
  • 如果名稱的最前面有一個感嘆號(!),表範例外規則,將不被忽略。
  • 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的檔案在此目錄下,而子目錄中的檔案不忽略。
  • 如果名稱的最後面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非檔案(預設檔案或目錄都忽略)。
#為註釋
*.txt        #忽略所有 .txt結尾的檔案,這樣的話上傳就不會被選中!
!lib.txt     #但lib.txt除外
/temp        #僅忽略專案根目錄下的TODO檔案,不包括其它目錄temp
build/       #忽略build/目錄下的所有檔案
doc/*.txt    #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

使用碼雲

  • 註冊登入碼雲,完善個人資訊

  • 設定本機繫結SSH公鑰,實現免密碼登入!(免密碼登入,這一步挺重要的,碼雲是遠端倉庫,我們是平時工作在本地倉庫!)

    # 進入 C:\Users\Administrator\.ssh 目錄
    # 生成公鑰
    ssh-keygen
    

  • 將公鑰資訊public key 新增到碼雲賬戶中即可!

  • 使用碼雲建立一個自己的倉庫

  • 獲取url

  • 克隆到本地

IDEA中整合Git

  • 新建專案,繫結git:最便捷的方法是,建立一個新的空專案,把克隆來的專案中的所有內容拷貝到新建立的本地專案中

  • 克隆來的專案:xun-test,新建的專案:gitee-test

  • 注意idea裡的變化

  • 使用IDEA操作git

    • 新增到暫存區:git add .
    • commit 提交:git commit -m "第一次提交"

    • push到遠端倉庫:git push

  • 登入碼雲檢視

Git分支

如果同一個檔案在合併分支時都被修改了則會引起衝突:解決的辦法是我們可以修改衝突檔案後重新提交!選擇要保留他的程式碼還是你的程式碼!

master主分支應該非常穩定,用來發布新版本,一般情況下不允許在上面工作,工作一般情況下在新建的dev分支上工作,工作完後,比如上要釋出,或者說dev分支程式碼穩定後可以合併到主分支master上來

  • git分支中常用指令
    # 列出所有本地分支
    git branch
    
    # 列出所有遠端分支
    git branch -r
    
    # 新建一個分支,但依然停留在當前分支
    git branch [branch-name]
    
    # 新建一個分支,並切換到該分支
    git checkout -b [branch]
    
    # 合併指定分支到當前分支
    $ git merge [branch]
    
    # 刪除分支
    $ git branch -d [branch-name]
    
    # 刪除遠端分支
    $ git push origin --delete [branch-name]
    $ git branch -dr [remote/branch]