kubernetes主流網路方案Flannel分析
title: Git學習筆記--(一)初始化本地庫
date: 2020-11-28 12:14:42
tags: git
categories: 學習筆記,git
一、建立和初始化本地庫
要是嫌棄沒有目錄,不易閱讀。可以移步到雲雨歸海的私人部落格。[私人部落格連線](https://yl1010code.github.io)
1.建立資料夾(例:E:\testGit)
2.開啟Git Bash(Git終端)
小貼士:按住ctrl鍵使用+或-去放大終端上的字型大小(固定設定字型大小:滑鼠右鍵--》Options--》Text--》Select--》選擇字號--》Apply--》Save)
小貼士:設定編碼集 滑鼠右鍵--》Options--》Text--》Characher set選擇UTF-8--》Apply--》Save
驗證Git是否安裝完成(順便檢視下版本資訊):git --version
基本命令(與Linux上操作一樣):
clear 清屏
3.設定簽名
設定使用者名稱和郵箱
$ git config --global user.name " 你的使用者名稱"
$ git config --global user.email "你的郵箱"
4.本地倉庫的初始化操作
使用命令進入到你建立的資料夾內(例:E:\testGit)
$ cd e:
$ cd testGit
或者在資源管理器中建立的資料夾內滑鼠右鍵,開啟Git Bash
初始化命令
$ git init
5.檢視目錄命令
$ ll -la //檢視包括隱藏的檔案,.git檔案是隱藏檔案(windows檢視隱藏檔案)
小貼士: config 配置檔案
二、提交檔案
add和commit命令,提交檔案到暫存區和本地庫(這樣才能對檔案進行後續管理)
1. 在本地倉庫資料夾中建立一個檔案 (例:test.txt)
2. 將檔案提交到暫存區
先開啟Git Bash終端輸入命令:
$ git add "Demo1.txt"
3. 將暫存區檔案提交到本地庫
開啟Git Bash終端輸入命令:
$ git commit -m "這是我提交的第一個檔案" "Demo1.txt"
$ git commit -m "第一次提交檔案" "Demo1.txt"
小貼士: 引數:m:message “”中的是註釋,方便以後管理
小貼士: 提交檔案時可不用雙引號把檔名括起來
自己練習一下!
三、檢視緩衝區和本地庫狀態的命令:
$ git status
說明:
nothing to commit 說明暫存區是空的(在本地庫中放入一個檔案)
Untracked files: 沒有進行檔案追蹤,說明存在在本地庫資料夾中有尚未被提交到暫存區的檔案(使用add命令將其新增到暫存區)
Changes to be committed: 檔案可以被提交(使用commit命令,將檔案提交到本地庫)
0 insertions(+) ,0 deletions(-) 0行增加 ,0行刪除
修改檔案內容後,再次檢視狀態
modified 檔案已經修改了(可將已經修改的重新提交到暫存區和本地庫)
小貼士:在工作區(本地庫資料夾)中還沒有被提交到暫存區的狀態:untrack
通過add命令提交到暫存區,就是將檔案加入到index中,狀態變為:staged
通過commit命令可以將staged狀態的檔案加入到本地庫的HEAD中
四、檢視日誌
$ git log
commit eb5579cf745b6c68e6480f2fc19481bf9452f219 (HEAD -> master)
commit 後的十六進位制程式碼 可以看成鍵值對的索引,就是<key,value>中的key,key:索引,value:歷史記錄中的具體內容。通過索引可以找到歷史記錄中的具體內容。
小貼士: 歷史版本由近至遠
小貼士: 當歷史記錄太多時,出現 ”:“進行分頁,在”:“後通過空格回車可切換到下一頁
小貼士:
下一頁:空格
上一頁:b
到尾頁顯示END
退出:q
日誌展示方式
- 以一種美觀的方式,將其在一行上展示出來
$ git log --pretty=oneline
- 顯示一部分索引,將其在一行上展示出來
$ git log --oneline
- 顯示指標回溯到相應的歷史版本需要的步數
$ git reflog
五、前進、後退歷史版本的命令
$ git reset --hard 【你所要跳到歷史版本的索引】// 就是前面說的很長的一竄十六進位制的數
小貼士:是指標名
小貼士:複製,在終端選中就是複製。貼上,右鍵滑鼠點選past。
小貼士:使用hard引數回溯歷史版本時,本地庫和暫存區已經本地儲存的檔案同步更改。
本地庫(HEAD)的指標移動時,重置暫存區(index)、重置工作區(一開始初始化建立的資料夾)
$ git reset --mixed 【索引】
本地庫(HEAD)指標移動的同時,重置暫存區(index),但是工作區(初始化時的資料夾)不動
小貼士:mixed引數不常用
$ git reset --soft 【索引】
本地庫(HEAD)指標移動的時候,暫存區(index)和工作區(初始化的資料夾)都不動
小貼士:引數不常用
六、刪除操作
刪除工作區中的檔案
$ rm 【檔名】
將刪除操作同步到暫存區
$ git add 【檔名】
將刪除操作同步到本地庫
$ git commit 【檔名】
小貼士: 該刪除不是物理刪除,只是改變了指標指向
找回本地庫中刪除的檔案
$ git reset --hard 【索引】
實際上就是將歷史版本切換到新增檔案時的版本
找回暫存區的檔案
$ git reset --hard 【索引】
七、檔案對比差異
1.在工作區建立一個檔案(例:TEST.txt),將其提交的暫存區和本地庫中
2.更改工作區內的檔案(TEST.txt),增加檔案內容,導致工作區和暫存區檔案不同步
小貼士:Git是以行為單位進行管理
將工作區和暫存區檔案進行比較的命令:
$ git diff 【檔名】
多個檔案的比對命令:
$ git diff // 比較工作區和暫存區中所有檔案的差異
比較暫存區和本地庫的差異
$ git diff HEAD 【檔名】 // 比較暫存區和當前本地庫中該檔案的差異
$ git diff HEAD 【索引號】【檔名 】// 比較暫存區和歷史本地庫中該檔案的差異
八、檢視、建立、切換分支
概念
branch master主分支
branch分支
新的獨立的功能,開闢新的分支branch,從master主分支上覆制當前最新的版本到分支上。
小貼士:多個分支可以並行開發,各個分支互不影響
分支的合併
hot_fix 熱修復(分支合併出現bug後新開闢的分支)
操作
- 檢視當前版本下的所有分支
$ git branch -v
- 建立分支
$ git branch 【分支名】
小貼士::分支名前面的*表示當前所在的分支
- 切換分支
$ git checkout 【分支名】
小貼士:建立的新分支和當前主分支上最新版本索引號相同
檢視檔案內容命令:
$ cat 【檔名】
九、合併分支
將其他分支合併到主分支
- 切換到主分支
$ git checkout master
- 將分支合併到主分支
$ git merge 【分支名】
小貼士:master|MERGING代表儲在合併狀態中
Merge conflict in 檔名 代表出現衝突
出現衝突的原因:在同一個檔案的同一個位置修改
保留下需要的,進行修改後
將工作區中的內容新增到暫存區
進行commit操作
$ git commit -m "解決了衝突問題" Demo1.txt
小貼士:不能帶檔名,否則出錯
十、為倉庫地址起別名(testRepository)
$ git remote -v 檢視遠端庫的別名
$ git remote add 別名 Github倉庫的地址
小貼士:fetch可以從倉庫取回東西,push可以推送東西
十一、推送命令:
$ git push 【別名】 master【要推送的分支名】
十二、克隆
選取下載到的碟符(下載到地址)
拉取命令:
$ git clone 遠端庫的地址
克隆操作可以幫我們完成
- 初始化本地庫
- 將遠端庫內容完整克隆到本地庫別名
十三、邀請加入團隊
使用push命令沒有讓輸入密碼也沒有報錯,push成功的原因是Git bash裡有快取
刪除快取:搜尋管理你的憑據
邀請加入團隊
進入遠端庫後點擊Settings在Manage access裡邀請普通成員
輸入邀請人的github賬戶名
Pending Invite就是邀請連線
接受邀請輸入,邀請連線
十四、遠端庫的修改和拉取操作
1.拉取pull操作的命令:相當於fetch+merge
2.專案經理先確定遠端庫內容是否更新了
3.專案經理進行拉取操作:
抓取操作
$ git fetch 【遠端庫別名或遠端庫地址】【分支名】
抓取後切換到遠端庫中的內容是否正確
$ git checkout 【遠端倉庫別名】/【分支名】
ll 檢視目錄
cat 【檔名】檢視檔案內容
發現內容都正確,進行合併操作
切換回本地庫的主分支
$ git checkout master
合併分支
$ git merge 【遠端庫別名】/【分支名】
小貼士:fetch操作只是將遠端倉庫裡的東西下載到本地,並沒有更新到工作區,工作區檔案不變
直接pull拉取
遠端庫已經更新後
$ git pull 【遠端倉庫別名】【分支名】
小貼士:fetch+merge 為了保險,pull程式碼簡單
十五、跨團隊合作
1.得到遠端庫的地址
2.fork操作
複製地址,點選fork操作
3.克隆到本地,進行修改
$ git clone 【地址】
4.新增到暫存區,提交到本地庫,推送到遠端庫
5.進行pull request操作
點選Pull requests
6.稽核
檢視請求點選pull requests
Files changed 可以檢視具體提交的內容
點選Merge pull request 進行合併
十六、跨團隊合作
1.得到遠端庫的地址
2.fork操作
複製地址,點選fork操作
3.克隆到本地,進行修改
$ git clone 【地址】
4.新增到暫存區,提交到本地庫,推送到遠端庫
5.進行pull request操作
點選Pull requests
6.稽核
檢視請求點選pull requests
Files changed 可以檢視具體提交的內容
點選Merge pull request 進行合併
十七、SSH免密登入
(如果作業系統不是windows10)push每次需要輸入賬戶和密碼
免密操作
1.進入到使用者的主目錄中的命令:
$ cd ~
2.執行命令生成一個.ssh的目錄
$ ssh-keygen -t rsa -C 【github對應的賬戶】
三次確認回車,使用預設設定
小貼士: C要大寫
在.ssh目錄下有兩個檔案id_rsa和id_rsa.pub,開啟id_rsa.pub檔案,將裡面的內容進行復制操作
3.開啟github 在頭像位置找到Settings --》SSH and GPG keys --》建立型的SSH keys,將複製的內容貼上到key中
4.生成金鑰以後就可以正常進行push操作
5.新增別名的命令
$ git remote add 【別名】 【遠端庫SSH協議下的地址】
十八、IDEA整合Git
建立project後,開啟File點選Settings選擇Git,設定git的安裝路徑
Path to Git executable:D:\study_setup\Git\bin\git.exe
Apply --》OK
1.本地庫的初始化操作
VCS選擇Import into Version Control選擇Create Git Repository
本地庫初始化完成,生成了.git檔案
2.在建立好的project中建立New Modul建立Package建立Class然後進行Java程式碼的書寫
3.在git中add新增到暫存區點選commit提交到本地庫(可添加註釋)Version control相當終端 Log日誌
十九、使用idea拉取推送資源
拉取
$ git pull 【別名】 【分支名】--allow-unrelated-histories
允許無聯絡的版本合併
小貼士:不同本地庫需要再次設定別名
推送
$ git push -u 【別名】【分支名】-f
遠端庫和本地庫已經可以進行互動了
直接commit和push(不推薦)
為了防止衝突,一般都是先pull後push
二十、使用idea克隆遠端倉庫到本地
利用IDEA進行克隆專案
new--》 Progect from Version Control--》Git
URL:遠端庫地址
Directory:放置位置
Test測試與遠端庫是否能連線上
Open Project 選擇New Window選擇在新視窗開啟
小貼士:克隆到本地後,這個目錄即變成了一個本地倉庫又變成了工作區間
二十一、使用idea解決衝突
1.製造衝突
2.A和B對同一個檔案的同一個位置進行修改
3.解決衝突
出現衝突後,提示進行merge操作,點選merge進行合併(可選擇合併的內容)
4.避免衝突
團隊開發時避免在一個檔案中改程式碼
在修改一個檔案之前,在push之前先pull操作,在別人的基礎上進行修改