算法之工程化內容(2)—— Git常用命令

目錄

1. git初始化配置

2. 新建倉庫

3. 工作區——>暫存區——>本地倉庫

4. git reset回退版本

5. 查看差異 git diff

6. 刪除文件git rm

7. .gitignore

8.?vscode操作git

9. git分支、合并和刪除

10. 解決合并沖突

11. 回退和rebase

12. 添加遠程倉庫

參考鏈接:

01.課程簡介_嗶哩嗶哩_bilibili


1. git初始化配置

查看版本號:git -v
配置用戶:git config --global user.name 'huanhaunwang'
配置郵箱:git config --global user.email 'whh@nit.zju.edu.cn'
保存配置:git config --global credential.helper store
查看配置:git config --global list

2. 新建倉庫

git clone http://github.xxx.com
mkdir learn-git
cd learn-git
git init / git init my-repo       # 初始化my-repo倉庫
cd .git
ls -alltr

3. 工作區——>暫存區——>本地倉庫

工作區——>暫存區:git add . 
暫存區——>本地倉庫:git commit -m 'xxx'      # 'xxx'為commit的描述

###### 添加和提交文件
初始化本地倉庫:git init
查看狀態:git status
工作區-->暫存區:git add .--> 提交txt文件到暫存區:git add *.txt--> 刪除暫存區內容:git rm --cached <file>
暫存區-->本地倉庫:git commit -m 'description'
寫內容到file1.txt:echo 'This is the first file' > file1.txt
提交記錄:git log/ git log --oneline

4. git reset回退版本

git reset三種模式

工作區

暫存區

git reset --soft

git reset --hard

?

?

git reset --mixed

?

  • 查看暫存區內容:git ls-files
  • 當出現誤操作時:查看歷史所有操作 git reflog --> 回退指定版本號 git reset --hard xxx(版本號)

5. 查看差異 git diff

(工作區/暫存區/本地倉庫,不同版本v1/v2/v3,不同分支)

git diff v1_num v2_num
git diff HEAD~ HEAD
git diff HEAD~2 HEAD
git diff HEAD~3 HEAD
git diff HEAD~3 HEAD <file>
git diff HEAD^ HEAD
git diff <branch_name> <branch_name>

6. 刪除文件git rm

工作區&暫存區同時刪除:git rm <file> --> git commit -m 'delete <file>'
工作區刪除-->暫存區刪除-->本地倉庫刪除:rm <file> --> git add <file> / git add. --> git commit -m 'delete <file>'
暫存區緩存刪除:git rm --cached <file>

7. .gitignore

忽略所有log日志:echo '*.log' > .gitignore --> git add . --> git commit -m 'commit .gitignore'
忽略temp下的所有內容:echo 'temp/' > .gitignore --> git add . --> git commit -m 'commit .gitignore'
忽略所有的.a文件:*.a
忽略任何目錄名為temp/的文件夾

8.?vscode操作git

9. git分支、合并和刪除

查看分支:git branch
創建分支:git branch/checkout <branch-name>
切換分支:git switch <branch-name>
合并分支:切換到main/master主分支 --> git merge <branch-name>
刪除分支:(1)已合并:git branch -d <branch-name>(2)未合并:git branch -D <branch-name>
查看分支創建&合并流程:git log --graph --oneline --decorate --all
  • git log --graph --oneline --decorate --all

10. 解決合并沖突

解決合并:vi <main_conflict.txt> --> git add . --> git commit -m 'solve conflict'
終止合并:git merge --abort

11. 回退和rebase

12. 添加遠程倉庫

克隆遠程倉庫:git clone ssh鏈接(此命令需要提前配好ssh -key.pub)
給遠程倉庫命別名:git remote add <遠程倉庫別名> ssh鏈接 e.g. git remote add origin git@github.com:xxx/xxx/xxx.git切換分支:git branch main/master
推送本地 --> remote遠程:git push -u <遠程倉庫別名> <分支名>
查看遠程倉庫:git remote -v
拉取remote遠程 --> 本地:git pull / git pull -u <遠程倉庫別名> <遠程分支名>:<本地分支名>(1)遠程-->本地:1)手動修改遠程2)拉取到本地:git pull = git fetch + git merge
(2)本地-->遠程:1)手動修改本地文件2)添加至緩存區:git add.3)提交到本地倉庫:git commit -m 'description'4)推送/更新遠程倉庫:git push

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42712.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42712.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42712.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Go語言】Go語言的占位符

Go語言的占位符 Golang 的字符串占位符在 fmt 包的各種打印函數中使用&#xff0c;如 fmt.Printf、fmt.Sprintf。 變量值與類型的打印 %v: 打印變量的值 %v 會根據變量的類型選擇合適的格式進行打印。對于結構體&#xff0c;%v 會打印出結構體的字段。對于指針類型&#xf…

Linux 網絡--TCP協議收包流程(NAPI機制)

Linux 網絡--TCP協議收包流程&#xff08;NAPI機制&#xff09; 平臺環境簡介&#xff1a;宿主機: ubuntu18.04Linux內核源碼版本: Linux-4.15網卡驅動: Intel e1000 &#xff08;ubuntu 虛擬機默認網卡驅動&#xff09;協議&#xff1a;TCP協議&#xff0c;本文分析收包過程 本…

緩存新境界:Eureka中服務的分布式緩存實現策略

緩存新境界&#xff1a;Eureka中服務的分布式緩存實現策略 引言 在微服務架構中&#xff0c;服務間的通信和數據交換頻繁&#xff0c;引入分布式緩存可以顯著提高系統性能和響應速度。Eureka作為Netflix開源的服務發現框架&#xff0c;雖然本身不提供緩存機制&#xff0c;但可…

【線程狀態-2】

1、線程禮讓 &#xff08;1&#xff09;禮讓線程&#xff0c;讓當前正在執行的線程暫停&#xff0c;但不阻塞 &#xff08;2&#xff09;將線程從運行狀態轉為就緒狀態 &#xff08;3&#xff09;讓cpu重新調度&#xff0c;禮讓不一定成功&#xff01;看cpu心情 package st…

單對以太網:工業4.0時代的通信革命

單對以太網連接器概述 單對以太網&#xff08;Single Pair Ethernet&#xff0c;簡稱SPE&#xff09;是一種新興的以太網技術&#xff0c;它通過一對雙絞線實現數據傳輸&#xff0c;支持PoDL&#xff08;Power over Data Line&#xff09;技術&#xff0c;為終端設備提供電力供…

【AI工具介紹】— webkit簡介

目錄 一、起源與發展 二、核心組件與功能 三、特性與優勢 四、應用與影響 五、結論 一、起源與發展 WebKit起源于蘋果公司&#xff0c;最初是為了開發Safari瀏覽器而創建的。WebKit項目的起源可以追溯到蘋果公司在2001年推出基于Unix的操作系統Mac OS X時&#xff0c;對瀏…

windows JDK11 與JDK1.8自動切換,以及切換后失效的問題

1.windows安裝不同環境的jdk 2.切換jdk 3.切換失敗 原因&#xff1a;這是因為當我們安裝并配置好JDK11之后它會自動生成一個環境變量&#xff08;此變量我們看不到&#xff09;&#xff0c;此環境變量優先級較高&#xff0c;導致我們在切換回JDK8后系統會先讀取到JDK11生成的…

Java項目:基于SSM框架實現的中小型企業財務管理系統【ssm+B/S架構+源碼+數據庫+答辯PPT+開題報告+畢業論文】

一、項目簡介 本項目是一套基于SSM框架實現的中小型企業財務管理系統 包含&#xff1a;項目源碼、數據庫腳本等&#xff0c;該項目附帶全部源碼可作為畢設使用。 項目都經過嚴格調試&#xff0c;eclipse或者idea 確保可以運行&#xff01; 該系統功能完善、界面美觀、操作簡單…

Spark實現電商消費者畫像案例

作者/朱季謙 故事得從這一張圖開始說起—— 可憐的打工人準備下班時&#xff0c;突然收到領導發來的一份電商消費者樣本數據&#xff0c;數據內容是這樣的—— 消費者姓名&#xff5c;年齡&#xff5c;性別&#xff5c;薪資&#xff5c;消費偏好&#xff5c;消費領域&#x…

CentOS 7:停止更新后如何下載軟件?

引言 CentOS 7 是一個廣受歡迎的 Linux 發行版&#xff0c;它為企業和開發者提供了一個穩定、安全、且免費的操作系統環境。然而&#xff0c;隨著時間的推移&#xff0c;CentOS 7 的官方支持已經進入了維護階段&#xff0c;這意味著它將不再收到常規的更新和新功能&#xff0c;…

圖像類別生成數字標簽

類別 COCO 2017數據集分類標簽。coco2017數據集下載。 cls [background, person, bicycle, car, motorcycle, airplane, bus,train, truck, boat, traffic light, fire hydrant,stop sign, parking meter, bench, bird, cat, dog,horse, sheep, cow, elephant, bear, zebra,…

2024建博會|博聯AI大模型全屋智能引領智能體驗新紀元

7月8日&#xff0c;2024中國建博會&#xff08;廣州&#xff09;在廣交會展館及保利世貿博覽館盛大啟幕。BroadLink博聯智能攜AI大模型全屋智能以及AI商業照明解決方案驚喜亮相&#xff0c;全方位展示AI大模型在智能家居領域的前沿應用成果。 本次建博會&#xff0c;博聯智能帶…

java.lang.annotation包介紹

java.lang.annotation 包是 Java 標準庫中的一個核心包,專門用于定義和支持 Java 注解(Annotation)。該包中包含了一些核心的接口和枚舉類型,用于定義和控制注解在 Java 程序中的行為和使用方式。 主要的類和接口 Annotation 接口 java.lang.annotation.Annotation 所有注…

NPDP含金量高嗎?什么人適合學習NPDP?

PMP考完了&#xff0c;最近在考NPDP&#xff0c;這也是一個有意思的證書&#xff0c;含金量還不錯&#xff0c;非常適合想轉型和升級的人來考。 一、NPDP是什么 NPDP其實就是產品經理國際資格認證&#xff08;New Product Development Professional&#xff09;&#xff0c;是…

C++慣用法: 通過std::decltype來SFINAE掉表達式

目錄 1.什么是SFINAE 2.SFINAE(替換失敗不是錯誤) 3.通過std::decltype來SFINAE掉表達式 1.什么是SFINAE SFINAE 技術&#xff0c;即匹配失敗不是錯誤&#xff0c;英文Substitution Failure Is Not An Error&#xff0c;其作用是當我們在進行模板特化的時候&#xff0c;會去…

嵌入式c語言——指針加修飾符

指針變量可以用修飾符來修飾

量化交易常用名詞介紹(七)——模塊篇

目錄 七、模塊篇 1. NumPy 2. pandas 3. matplotlib 4. scikit-learn 5. TensorFlow 6. TA-Lib 7. statsmodels 8. Backtrader 9. PyPortfolioOpt 10. Zipline 七、模塊篇 在量化交易中&#xff0c;Python 及其豐富的庫生態系統提供了強大的支持。以…

Redis部署和基礎命令

一、Redis基本概念 1.1 Redis簡介 Redis&#xff08;遠程字典服務器&#xff09; 是一個開源的、使用 C 語言編寫的 NoSQL 數據庫。 Redis 基于內存運行并支持持久化&#xff0c;采用key-value&#xff08;鍵值對&#xff09;的存儲形式&#xff0c;是目前分布式架構中不可或…

python爬蟲之scrapy基于管道持久化存儲操作

python爬蟲之scrapy基于管道持久化存儲操作 本文基于python爬蟲之基于終端指令的持久化存儲和python爬蟲之數據解析操作而寫 scrapy持久化存儲 基于管道&#xff1a; 編碼流程&#xff1a; 1、數據解析 2、在item類中定義相關屬性 3、將解析的數據封裝存儲到item類型的對象 4、…

Linux內核 -- 內存管理之scatterlist結構使用

Linux Kernel Scatterlist 使用指南 1. 簡介 scatterlist 結構在 Linux 內核中主要用于 DMA&#xff08;直接內存訪問&#xff09;操作中的內存管理。它允許將不連續的物理內存片段表示為一個邏輯上的連續塊&#xff0c;從而使 DMA 操作可以高效地處理這些不連續的內存片段。…