1. 程式人生 > 實用技巧 >GIt筆記整理

GIt筆記整理

GIT命令使用 => 網易雲課堂大拿的課程

  • GIT的作用 => 儲存我們的程式碼.防止現在程式碼更改覆蓋之前程式碼,造成無法回退. => 是利用資料倉庫完成這一點的.
  • pwd => 顯示出路徑
  • git => 顯示出GIT所有的命令
  • git init => 初始化倉庫
  • ll -a => 顯示資料夾.包括隱藏資料夾
  • ll -a ./.git => 顯示git資料夾裡的內容
  • touch one.txt => 建立一個one.txt資料夾
  • git add one.txt
  • git commit -m "這是一個描述性質的檔案"
- git add one.txt
- git commit
    - # 後面代表的是註釋
- 或者可以是 git commit -m "這是一個描述性質的檔案"
  • git status => 顯示git當前狀態 . 如果一致的話,會顯示 nothing to commit , working tree clean
  • git re => 刪除資訊
  • rm four.txt => 刪除工作區的檔案.
  • git rm four.txt => 告訴暫存區刪除一個檔案的命令.(實際上暫存區儲存的是一個動作.).之後再次使用commit告訴軟體倉庫
    • 刪除也是版本更迭.
  • git log : 檢視日誌.檢視所有日誌.
  • git reset --hard 609352982e4e9a170e4074c38a07d1af93d055c8 => 回滾版本
    • 只要入了版本倉庫,都已經儲存好了.
  • 細節還沒有講完.參看廖雪峰的日誌.
  • Github(公有) / bitbucket(私有)

GIT命令 => bilibili傳智播客

01 使用Github

  • 倉庫(Repository)

    • 倉庫的意思.如果想在GitHub上開源一個專案,那就必須要新建一個Repository.
  • 收藏(Star)

  • Fork (拉一份到我的GitHUb上)

  • 發起請求(Pull Request)

    • 請求修改程式碼並檢視.
    • 如果對方感覺還不錯就會去合併
  • 關注 (Watch)

    • 類似於社交網站的Follow
  • 事務卡片 (issue)

    • 發現程式碼BUG,但是目前沒有成型程式碼.需要討論使用.

GIT命令 => 千鋒

01. Git基本安裝

  • 在單人開發過程中,需要進行版本管理.以利於開發進度的控制
  • 在多人開發過程中,不僅需要版本管理,還需要多人協同控制.
  • git config --global user.name "sheel" => 設定使用者名稱
  • git config --global user.email "[email protected]" => 設定郵箱
  • git config - i => 檢視使用者資訊
  • get version => 檢視GIT版本

02. 架構 - 倉庫基本使用

  • 工作區(本地目錄) | 暫存區(儲存的是程式碼) | 版本倉庫(包含了master分支)

  • git init => 新建一個倉庫

  • git status => 檢視當前的狀態

    • untracjed files => 未跟蹤檔案
  • git add . => 把當前工作區的所有檔案都add一下.

  • git add commit -m "add two files" =>將暫存區檔案存入分支,形成一個版本 -m ->新增資訊具體描述

  • TortoiseGit => 可以顯示檔案的狀態.是git的一個擴充套件工具.

03. 遠端倉庫詳述 - 入門使用

  • 每個人都有一個本地倉庫 , 以及還有一個遠端倉庫.
  • Github和碼雲是一個Git伺服器.我們可以在git伺服器上構建自己的遠端倉庫.
  • git remote add orgin https://gitee.com/ilikedrinkwater/campus.git => 新增一個遠端倉庫.地址名稱為orgin.
    • git remote -v => 檢視關聯地址
  • git push orgin master => 將orgin中的內容push到遠端倉庫.
    • push到orgin中.從本地master中的內容.

04. 遠端倉庫-克隆-共享

  • git clone https://gitee.com/ilikedrinkwater/first_learn_git.git => 克隆遠端檔案到本地
  • git pull origin master => 將遠端倉庫origin中的內容克隆到本地倉庫中來.
    • 遠端倉庫的作用 : 一個人可以push上去.而另外一個可以pull下來.進行合併.
# 命令彙總
git remote add 遠端倉庫標識名(orgin) 遠端地址   本地關聯遠端倉庫.
git push 標識名 master  將本地倉庫內容上傳到遠端倉庫.
git pull 標識名 master  從遠端倉庫下載內容到本地倉庫.
git clone 遠端地址  將遠端倉庫複製到本地,並自動形成一個本地倉庫.

05. 分支概述 - 基礎操作

  • 分支有多個提交點組成,分支上會有一個指標.預設指向於最新節點.
    • 如果在一次節點更新中.如果有一些檔案內容沒有發生改變.則是指標指向於這個檔案.這樣做是為了節省記憶體空間
  • git branch =>檢視分支.
    • 預設只有一個分支是master(主分支)
- 在商業專案的開發過程中.我們不會輕易的在master分支上做操作.
- 我們會新建一個開發用的分支 , 在此分支上做版本的記錄
- 當代碼確實沒有問題時, 才會將開發分支上成熟的程式碼版本呢新增到master分支上
- 既保證開發過程中 , 可以及時記錄版本 , 又保證master分支上每個提交點都是穩健版本
  • git branch dev => 建立一個dev的分支.

      • 表示的是當前使用的分支.
  • git checkout dev => 切換分支

    • 可再次使用 git branch dev 檢視分支.
    • 分支一旦切換,之前儲存的檔案都將會消失.

06. 分支細節提升

  • 新分支創建出來之後,會和當前分支具有相同的內容.相同的更新內容.
  • 每個分支都有一個指標 , 新建一個分支, 首先是新建一個指標.
  • git log --oneline => 展示簡易的日誌
    • git log => 顯示更多的日誌

07.分支的合併

  • 快速合併

    • git marge 分支a 合併到分支a. => 挪動指標.
      • git marge 合併到分支a (要求是這個時候處在分支a下)
    • fast-forward => 快速合併.
      • 適用於的情況是一個分支不動,而另外一個分支的指標在發生變化.
  • 三方合併

    • 形成的一個新的提交點.並且主分支的指標會挪動到新提交點.
    • 三方合併指的是共同的父檔案 / 被合併檔案 / 合併檔案
  • git log --oneline --graph

08.分支合併-衝突解決

  • 兩個檔案都進行了檔案修改 , 需要手動進行修復.=> 刪除掉不需要的程式碼

IDEA

  • 一般以功能模組為提交單位
  • 差生衝突之後,需要手動進行保留.

多人協同流程-經典問題總結