一篇文章帶你了解熱門版本控制系統——Git( 三 )

  • Staged : 暫存狀態.
  • 文件之間的狀態轉換如下:
    • Untracked通過git add狀態變為Staged.
    • Unmodify如果被修改, 而變為Modified. 如果使用git rm移出版本庫, 則成為Untracked文件
    • Modified通過git add可進入暫存staged狀態, 使用git checkout 則丟棄修改過, 返回到unmodify狀態
    • Staged執行git commit則將修改同步到庫中, 這時庫中的文件和本地文件又變為一致, 文件為Unmodify狀態.

    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    Git文件指令Git提供了兩個方法可以查看單個文件以及所有文件的狀態:
    # 查看指定文件狀態git status [filename]# 查看所有文件狀態git status同時Git也提供了兩個方法進行文件類型的轉換:
    # 添加所有文件到暫存區git add .# 提交暫存區中的內容到本地倉庫 -m 提交信息git commit -m "消息內容"Git文件忽略在我們的實際開發中,有些文件并不需要添加到本地倉庫中,因而Git為我們提供了一個配置類:
    • .gitignore配置類
    該文件存在以下規則:
    • 忽略文件中的空行或以井號(#)開始的行將會被忽略 。
    • 可以使用Linux通配符 。例如:星號(*)代表任意多個字符,問號(?)代表一個字符
    • 如果名稱的最前面有一個感嘆號(!),表示例外規則 , 將不被忽略 。
    • 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的文件在此目錄下 , 而子目錄中的文件不忽略 。
    • 如果名稱的最后面是一個路徑分隔符(/) , 表示要忽略的是此目錄下該名稱的子目錄 , 而非文件(默認文件或目錄都忽略) 。
    我們給出相關示例:
    #為注釋#忽略所有 .txt結尾的文件,這樣的話上傳就不會被選中!*.txt#但lib.txt除外!lib.txt#僅忽略項目根目錄下的TODO文件,不包括其它目錄temp/temp#忽略build/目錄下的所有文件build/#會忽略 doc/notes.txt 但不包括 doc/server/arch.txtdoc/*.txtGitee碼云我們在實際開發中通常需要一個遠程倉庫來存放我們的項目版本
    目前可靠的Git開發平臺有GitHub , Gitab , Gitee , 我們在這里采用Gitee為例
    1. 注冊登錄碼云頁面

    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    1. 獲得SSH公鑰
    # 首先我們采用Git獲得SSH公鑰# 生成SSH公鑰 然后進入 C:\Users\Administrator\.ssh 目錄 可以查看相關信息ssh-keygen
    1. 設置本機綁定SSH公鑰,實現遠程倉庫免密碼登錄

    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    1. 創建一個遠程倉庫

    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    1. 克隆至本地即可
    $ git clone 遠程倉庫HTTPSIDEA集成Git這一小節我們來介紹如何在IDEA中使用Git保存數據
    1. 創建項目,綁定Git
    我們通常將我們遠程倉庫中的代碼直接拷貝復制到當前項目文件夾下即可
    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    此時我們的IDEA頁面會發生變化(紅色文件為選中文件):
    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    1. 修改文件,逐步實現add,commit,push操作
    我們可以選擇在Terminal控制臺輸出:
    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    同樣可以選擇IDEA界面快捷輸出:
    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    1. 返回Gitee頁面查看數據即可(注意:需要設置為公開才可更新成功)

    一篇文章帶你了解熱門版本控制系統——Git

    文章插圖
    Git分支分支就是脫離于主線之外的內容
    版本控制系統都以某種形式支持分支 , 一個分支代表一條獨立的開發線,讓我們在不影響主線的同時繼續工作
    如果同一個文件在合并分支時都被修改了則會引起沖突:

    推薦閱讀