Git版本控制詳細資料

Git安裝基本配置

下載安裝(一路next)

打開bash終端(git專用)

命令:?git -v(查看版本號)

配置: 用戶名和郵箱,應用在每次提交代碼版本時表明自己身份

命令:

git config --global user.name "FT"

git config --global user.email "FT@163.com"

查看配置命令:

git config --list

Git工作區

Git倉庫(repository):記錄文件狀態內容的地方,存儲著修改記錄

創建:

1、把本地文件夾裝換成Git倉庫: 命令?git init

2、從其他服務器上克隆Git倉庫

Git的三個區域:

1、工作區: 實際開發時操作的文件夾

2、暫存區: 保存之前的準備區域(暫存改動過的文件)

3、版本區: 提交并保存暫存區中的內容,產生一個版本快照

命令作用
git add 文件名暫存指定文件
git add .暫存所有改動的文件
git commit -m '注釋說明'提交并保存,產生版本快照

查看暫存區工作文件:?git ls-files

Git文件狀態:

Git文件2種狀態:

命令:?git status -s

1、未跟蹤: 新文件,從未被Git管理過

2、已跟蹤: Git已經知道和管理的文件

文件狀態概念場景
未跟蹤(U)從未被Git管理過新文件
新添加(A)第一次被Git暫存之前版本記錄無此文件
未修改('')三個區域統一提交保存后
已修改(M)工作區內容變化修改了內容產生

Git暫存區使用:

暫存區: 暫時存儲,可以臨時恢復代碼內容,與版本庫解耦

暫存區 -> 覆蓋 -> 工作區

命令:?git restore 目標文件?(注意: 完全確認覆蓋時使用)

從暫存區移除文件,命令:?git rm --cached 目標文件

Git回退版本

概念: 把版本庫某個版本對應的內容快照,恢復到工作區/暫存區

查看歷史提交:

git log --oneline

git reflog -- oneline

回退命令:

git reset --soft 版本號?(保留暫存區和工作區內容)

git reset --hard 版本號?(不保留暫存區和工作區原本內容)

git reset --mixed 版本號(不保留暫存區,工作區保留(默認) 先覆蓋到暫存區,再用暫存區對比覆蓋工作區)

注意1: 只有記錄在版本庫的提交記錄才能恢復

注意2: 回退后,繼續修改->暫存->提交操作即可(產生新的提交記錄過程)

刪除文件

git 忽略文件

概念: .gitignore 文件可以讓 git 徹底忽略跟蹤指定文件

目的: 讓 git 倉庫更小更快,避免重復無意義的文件管理

分支

概念: 本質上是值向提交節點的可變指針。默認名字是 master

注意: HEAD指針影響工作區/暫存區的代碼狀態

場景: 開發新需求、修復Bug,保證主線代碼隨時可用,多人協同開發提交效率

例如:

1、在現有代碼上創建新分支完成內容列表業務

2、突然需要緊急修復Bug - 單獨創建分支解決BUg

例: 創建內容列表content分支,并產生提交記錄

步驟:

1、創建分支命令:?git branch 分支名?(git branch?命令可以查看所有分支)

2、切換分支命令:?git checkout 分支名

3、工作區準備代碼并暫存提交

其他命令:

1、創建分支并切換到創建的分支:?git checkout -b 分支名

2、將本地的分支推送到遠程倉庫進行保存:?git push -u origin 分支名?(origin gitHub中創建的倉庫別名)

3、將本地的分支合并到本地的 master 分支:

git checkout master

git merge 分支名

4、刪除本地的分支:?git branch -d 分支名

注意: 提交記錄的順序按照產生的先后順序排列,而非合并的先后順序

分支 - 合并沖突

Git遠程倉庫

概念: 托管在網絡或其他網絡中你的項目版本庫

作用: 保存版本庫的歷史記錄,多人協作

創建: 公司自己服務器/第三方托管平臺(Gitee,GitLab,GitHub...)

例: 需求: 創建遠程版本庫,并把本地Git倉庫推送上去保存

步驟:

1、注冊第三方托管平臺網站賬號

2、新建倉庫得到遠程倉庫Git地址

3、本地Git倉庫添加遠程倉庫原點地址

命令:?git remote add 遠程倉庫別名 遠程倉庫地址

例:?git remote add origin https://gitee.com/xxx/work.git

4、本地Git倉庫推送版本記錄到遠程倉庫

命令:?git push -u 遠程倉庫別名 本地和遠程分支名

例:?git push -u origin master

完整寫法:?git push --set-upstream origin master:master

查看本地倉庫中有哪些遠程倉庫的地址?git remote -v

刪除遠程倉庫地址?git remote remove origin

拉取遠程倉庫:?git pull origin master

強制拉取遠程倉庫:?git pull --rebase origin master

Git 遠程倉庫-克隆

概念: 拷貝一個Git倉庫到本地,進行使用

命令: git clone 遠程倉庫地址

例:?git clone https://gitee.com/xxx/work.git

效果: 在運行命令所在文件夾, 生成wor項目文件夾(包含版本庫,并映射到暫存區和工作區)

注意1: Git 本地倉庫已經建立好和遠程倉庫的鏈接

注意2: 倉庫公開隨意克隆,推送需要身為倉庫團隊成員

Git常用命令

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

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

相關文章

利用井云平臺把Coze工作流接入小程序/網站封裝變現 | 詳細步驟→

今天來看看怎么把Coze工作流接入井云生成你的專屬網站/小程序! 當前已支持三大模塊接入:? 工作流 ? 智能體 ? 外部網頁 本文所用工具 1、扣子:www.coze.cn 2、井云智能體:jingyun.center 為什么選擇井云平臺? …

linux weston flutter remote desktop

參考:Outputs — weston 14.0.90 documentation Weston 14.0: DRM-backend, color management, and output mirroring Weston 14.0: DRM-backend, color management, and output mirroring ??? 3. DRM 輸出可鏡像至遠程輸出(RDP、VNC、PipeWire) 這次更新還帶來了一個…

GitHub Copilot 是什么,怎么使用

GitHub Copilot 是一個由 GitHub 和 OpenAI 聯合開發的 AI 編程助手,它可以在你寫代碼的時候自動給出建議、補全代碼,甚至生成整個函數或算法。它就像一個“聰明的副駕駛”,時刻在你旁邊協助你寫代碼。 簡單解釋: GitHub Copilot …

Android系統及應用QUIC協議支持詳解

QUIC協議在Android中的全面支持與實踐指南 本文深入探討QUIC協議在Android中的實現細節,涵蓋基礎原理、開發技巧、性能優化及前沿擴展,提供完整的Kotlin代碼示例和工程實踐指南。 1. QUIC協議核心優勢 QUIC(Quick UDP Internet Connections&…

.NET基于類名約定的自動依賴注入完整指南

🚀 .NET基于類名約定的自動依賴注入完整指南 基于類名約定的自動依賴注入可大幅減少手動注冊服務的工作量,本文將通過清晰的結構、美觀的排版和豐富的示例,幫助你快速掌握這一實用技術。 🌈 核心特性概覽 特性說明類名約定自動…

Redis各數據結構的詳細使用和使用場景

Redis各數據結構的詳細使用 大家好!今天我們來聊聊Redis這個強大的內存數據庫。就像我們生活中的工具箱一樣,Redis提供了多種"工具"(數據結構)來幫助我們解決不同的問題。有些工具像螺絲刀(字符串&#xff…

MSYS2 環境下 Python 開發配置(結合 PyCharm)使用筆記

【筆記】MSYS2 的 MinGW64 環境中正確安裝 Python 相關環境管理工具 (Poetry、Virtualenv、Pipenv 和 UV)-CSDN博客 MSYS2 環境配置與 Python 項目依賴管理筆記_msys更新python-CSDN博客 【技術筆記】MSYS2 指定 Python 版本安裝方案_pacman -u 安裝指定…

Python爬蟲實戰:研究Splinter相關技術

1. 引言 1.1 研究背景與意義 隨著 Web 2.0 技術的發展,現代網頁越來越多地采用 JavaScript 動態生成內容。傳統爬蟲通過直接請求 HTML 頁面的方式,無法獲取這些動態渲染的內容,導致爬取數據不完整。據統計,全球前 1000 名網站中,超過 70% 的頁面包含動態加載內容 。Spli…

大氣商務工作匯報總結PPT模版分享

藍色商務工作總結PPT模版,莫蘭迪工作總結PPT模版,年中工作匯報PPT模版,簡約工作匯報PPT模版,上半年工作總結PPT模版,極簡工作匯報PPT模版,歐美簡約PPT模版,大氣商務通用PPT模版,團隊…

5G modem開發

鏈接文章:https://zhuanlan.zhihu.com/p/709130546 OpenHarmony RIL架構 鏈接文章:https://blog.csdn.net/weixin_42571280/article/details/148566029 在移動通信設備中,無線接口層(Radio Interface Layer,簡稱RIL&…

Gartner《AI-Driven Methods for Cost-Efficiency》學習心得

一、背景介紹 在當前經濟形勢下,企業面臨著成本上升與收入增長放緩的雙重壓力。Gartner 的這份報告指出,大多數企業對 AI 的投資主要集中在提升用戶生產力方面,但短期內投資回報率有限。鑒于經濟的不確定性以及成本壓力,尤其是生成式 AI(GenAI)技術,若應用于財務效率和…

人臉識別技術是自動化還是智能化?

人臉識別技術兼具自動化與智能化的雙重特性。它通過自動采集圖像、預處理圖像、提取特征以及進行識別比對等操作,實現了高效且無需人工干預的識別流程,展現出強大的自動化能力。同時,它還具備自適應學習能力,能夠根據新的數據和場…

樹結構的實際應用之堆排序

樹結構的實際應用之堆排序 基本介紹 堆排序是利用堆這種數據結構設計而成的一種排序算法,堆排序是一種選擇排序,它的最壞,最好,平均時間復雜度為O(logn),它也是不穩定排序。堆是具有以下性質的完全二叉樹:…

用OBS Studio錄制WAV音頻,玩轉語音克隆和文本轉語音!

言簡意賅的講解OBS Studio解決的痛點 隨著AI技術的快速發展,語音克隆與文本生成語音技術越來越受歡迎。無論你想要制作個人虛擬主播,還是給自媒體視頻配音,擁有高質量的原始音頻都是關鍵。本文詳細教你使用免費且功能強大的軟件——OBS Stud…

LangChain-5-agent

概述 Agent 是一種能夠基于接收到的輸入,利用自身的決策邏輯和可用的工具,動態地規劃并執行一系列操作,以達成特定任務的程序或系統。它在與外界交互過程中,會根據實時情況靈活調整策略,而不是按照固定的預設流程執行…

操作系統進程與線程核心知識全覽

本博客,根據王道所學。以下為第二章節知識點: 進程的概念、組成、狀態與其轉換、進程間通信、信號; 單/多線程模型、線程管理、調度時機的切換、調度的目標、調度算法、多處理機調度; 同步與互斥、進程互斥的軟硬件實現方法、信號…

C++中類型轉換操作符知識介紹

文章目錄 **一、類型轉換操作符的語法與定義****二、工作原理****三、示例:基本類型轉換****四、示例:轉換為自定義類型****五、與構造函數的對比****六、注意事項****七、應用場景****八、與 C 其他類型轉換的關系****九、總結** 在C中,類型…

2048小游戲C++板來啦!

個人主頁:PingdiGuo_guo 收錄專欄:C干貨專欄 大家好呀,我是PingdiGuo_guo,今天我們來學習如何用C編寫一個2048小游戲。 文章目錄 1.2048的規則 2.步驟實現 2.1: 初始化游戲界面 2.1.1知識點 2.1.2: 創建游戲界面 2.2: 隨機…

TensorFlow深度學習實戰——Transformer變體模型

TensorFlow深度學習實戰——Transformer變體模型 0. 前言1. BERT2. GPT-23. GPT-34. Reformer5. BigBird6. Transformer-XL7. XLNet8. RoBERTa9. ALBERT10. StructBERT11. T5 和 MUM12. ELECTRA13. DeBERTa14. 進化 Transformer 和 MEENA15. LaMDA16. Switch Transformer17. RE…

還原自動駕駛的“前世今生”:用 Python 實現數據記錄與回放系統

還原自動駕駛的“前世今生”:用 Python 實現數據記錄與回放系統 你有沒有想過這樣一個場景: 一輛自動駕駛測試車,在街頭拐了個彎,卻突然急剎。測試員一臉懵,研發團隊問:“數據記錄了嗎?” 他攤攤手:“系統當時沒掛上錄制……” 對不起,重測吧。 這不是段子,而是我在…