【Git】代碼托管服務

博主:👍不許代碼碼上紅
歡迎:🐋點贊、收藏、關注、評論。
格言: 大鵬一日同風起,扶搖直上九萬里。

文章目錄

      • Git代碼托管服務概述
      • Git核心概念
      • 主流Git托管平臺
      • Git基礎配置
      • 倉庫創建方式
      • Git文件狀態管理
      • 常用本地操作命令
      • 遠程倉庫操作
      • 分支管理
      • 標簽管理
      • IDE集成建議

Git代碼托管服務概述

Git是一款分布式版本控制工具,用于管理軟件開發中的源代碼文件。通過本地和遠程倉庫協同工作,實現代碼的版本控制、協作開發和歷史追蹤。

Git核心概念

本地倉庫與遠程倉庫

  • 本地倉庫:位于開發者本地計算機,用于獨立開發和版本管理
  • 遠程倉庫:存儲在服務器上,用于團隊協作和代碼備份

基本操作概念

  • Commit:將文件修改保存到本地倉庫
  • Push:將本地倉庫內容上傳到遠程倉庫
  • Pull:從遠程倉庫獲取最新內容到本地
  • Git GUI Here: 打開Git圖形界面
  • Git Bash Here: 打開Git命令行

主流Git托管平臺

GitHub

  • 全球最大的開源托管平臺
  • 支持公開和私有倉庫
  • 提供Issue跟蹤、Wiki等功能

Gitee(碼云)

  • 國內流行的代碼托管服務
  • 中文界面,訪問速度快
  • 提供企業版等增值服務

GitLab

  • 開源自托管解決方案
  • 可部署在企業內部服務器
  • 提供CI/CD等高級功能

Bitbucket

  • Atlassian旗下代碼托管平臺
  • 免費支持私有倉庫
  • 與Jira等工具深度集成

Git基礎配置

用戶信息設置

git config --global user.name "YourName"
git config --global user.email "your@email.com"

查看當前配置

git config --list

倉庫創建方式

本地初始化

mkdir project
cd project
git init
  • 如果在當前目錄看到.git文件夾,說明Git倉庫創建成功

克隆遠程倉庫

git clone [遠程倉庫地址]

Git文件狀態管理

核心區域

  • 工作區:包含.git文件夾的目錄就是工作區,也稱為工作目錄,主要用于存放開發的代碼
  • 暫存區:.git文件夾中的index文件夾(或者stage文件夾)。暫存區是一個臨時保存修改文件的地方
  • 版本庫:.git文件夾就是版本庫,版本庫中存儲了很多配置信息、日志信息和文件版本信息等等

文件狀態

  • Untracked(未跟蹤):文件未被 Git 管理,通常是新創建的文件或目錄。
  • Tracked(已跟蹤):文件已被 Git 管理,可以進一步細分為:
    Unmodified(未修改):文件內容與上一次提交一致,未發生任何改動。
    Modified(已修改):文件內容相比上一次提交發生了改動,但尚未暫存。
    Staged(已暫存):文件的改動已被 git add 命令暫存,等待提交。

常用本地操作命令

狀態查看

git status

將文件修改加入暫存區

git add

將暫存區的文件修改提交到版本庫

git commit

版本回退

git reset

查看歷史

git log

遠程倉庫操作

查看遠程倉庫

git remote

添加遠程倉庫

git remote add

從遠程倉庫克隆

git clone

從遠程倉庫拉取

git pull

推送到遠程倉庫

git push

分支管理

分支操作

  • 分支是Git使用過程中非常重要的概念。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響到開發主線。同一個倉庫可以有多個分支,各個分支之間相互獨立,互不干擾
  • 通過git init命令創建本地倉庫時候會默認創建一個master分支。
  • 分支常見的操作命令如下:
    ① git branch 查看分支
    ② git branch[name] 創建分支
    ③ git checkout [name] 切換分支
    ④ git push [shortName][name] 推送至遠程倉庫分支
    ⑤ git merge[name] 合并分支

標簽管理

創建推送標簽

git tag v1.0
git push origin v1.0

檢出標簽

git checkout -b release v1.0

IDE集成建議

配置Git路徑

  • 在IDE設置中指定Git executable路徑
  • 配置用戶信息與終端一致

常見操作

  • 通過VCS菜單進行commit/push/pull
  • 使用版本控制工具窗口管理變更
  • 右鍵點擊文件進行diff/rollback等操作

分支管理

  • 在右下角分支切換器中操作
  • 支持可視化merge conflict解決

通過掌握這些核心概念和操作命令,可以高效利用Git進行版本控制和團隊協作開發。

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

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

相關文章

Android 網絡請求的選擇邏輯(Connectivity Modules)

代碼分析 ConnectivityManager packages/modules/Connectivity/framework/src/android/net/ConnectivityManager.java 許多APN已經棄用,應用層統一用 requestNetwork() 來請求網絡。 [ConnectivityManager] example [ConnectivityManager] requestNetwork() [Connectivi…

C#建立與數據庫連接(版本問題的解決方案)踩坑總結

1.如何優雅的建立數據庫連接 今天使用這個deepseek寫代碼,主要就是建立數據庫的鏈接,包括這個建庫建表啥的都是他整得,我就是負責執行,然后解決這個里面遇到的一些問題; 其實我學習這個C#不過是短短的4天的時間&…

FastAPI的初步學習(Django用戶過來的)

我一直以來是Django重度用戶。它有清晰的MVC架構模式、多應用組織結構。它內置用戶認證、數據庫ORM、數據庫遷移、管理后臺、日志等功能,還有強大的社區支持。再搭配上Django REST framework (DRF) ,開發起來效率極高。主打功能強大、易于使用。 曾經也…

提升IT運維效率 貝銳向日葵推出自動化企業腳本功能

在企業進行遠程IT運維管理的過程中,難免會涉及很多需要批量操作下發指令的場景,包括但不限于下列場景: ● ?規模設備部署與初始化、設備配置更新 ● 業務軟件安裝與系統維護,進行安全加固或執行問題修復命令 ● 遠程設備監控與…

最簡單的遠程桌面連接方法是什么?系統自帶內外網訪問實現

在眾多遠程桌面連接方式中,使用 Windows 系統自帶的遠程桌面連接功能是較為簡單的方法之一,無論是在局域網內還是通過公網進行遠程連接,都能輕松實現。 一、局域網內連接步驟 1、 開啟目標計算機遠程桌面功能:在目標計算機&…

JVM(2)——垃圾回收算法

本文將穿透式解析JVM垃圾回收核心算法,涵蓋7大基礎算法4大現代GC實現3種內存分配策略,通過15張動態示意圖GC日志實戰分析,帶您徹底掌握JVM內存自動管理機制。 一、GC核心概念體系 1.1 對象存亡判定法則 引用計數法致命缺陷: // …

基于Spring Boot+Vue的“暖寓”宿舍管理系統設計與實現(源碼及文檔)

基于Spring BootVue的“暖寓”宿舍管理系統設計與實現 第 1 章 緒論 1.1 論文研究主要內容 1.1.1 系統概述 1.1.2 系統介紹 1.2 國內外研究現狀 第 2 章 關鍵技術介紹 2.1 關鍵性開發技術的介紹 2.1.1 Java簡介 2.1.2 Spring Boot框架 2.2 其他相關技術 2.2.1 Vue.J…

基于Java的不固定長度字符集在指定寬度和自適應模型下圖片繪制生成實戰

目錄 前言 一、需求介紹 1、指定寬度生成 2、指定列自適應生成 二、Java生成實現 1、公共方法 2、指定寬度生成 3、指定列自適應生成 三、總結 前言 在當今數字化與信息化飛速發展的時代,圖像的生成與處理技術正日益成為眾多領域關注的焦點。從創意設計到數…

軟考 系統架構設計師系列知識點之雜項集萃(93)

接前一篇文章:軟考 系統架構設計師系列知識點之雜項集萃(92) 第169題 人工智能技術已成為當前國際科技競爭的核心技術之一,AI芯片是占據人工智能市場的法寶。AI芯片有別于通常處理器芯片,它應具備四種關鍵特征。&…

Kotlin實現文件下載斷點續傳(RandomAccessFile全解析)

本文將深入探討如何使用Kotlin和RandomAccessFile實現高效的斷點續傳功能,涵蓋原理分析、完整代碼實現、性能優化及工程實踐要點。 一、斷點續傳核心原理 1.1 HTTP斷點續傳協議 #mermaid-svg-EfmgPUx3SFkso8Fc {font-family:"trebuchet ms",verdana,aria…

linux-headers-$(uname -r)和kmod是什么?

2025年6月16日,周一清晨 Linux-headers-$(uname -r)與kmod包詳解 一、linux-headers-$(uname -r)包 linux-headers-(uname -r)是Linux系統中與當前運行內核版本匹配的內核頭文件包,其中(uname -r)會自動替換為當前內核版本號(如5.13.0-19-g…

使用axios及和spirng boot 交互

Axios Axios是一個基于Promise的HTTP庫,可以發送get、post等請求,它作用于瀏覽器和Node.js中。當運行在瀏覽器時,使用XMLHttpRequest接口發送請求;當運行在Node.js時,使用HTTP對象發送請求。 使用步驟: 第…

布局文件的逐行詳細解讀

總覽 源碼 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto&…

VTK 顯示大量點云數據及交互(點云拾取、著色、測量等)功能

VTK (Visualization Toolkit) 是一個強大的開源可視化庫&#xff0c;非常適合處理點云數據。下面將介紹如何使用 VTK 顯示大量點云數據&#xff0c;并實現點云拾取、著色、測量等功能。 基本點云顯示 創建一個基本的點云顯示程序&#xff1a; cpp #include <vtkSmartPoi…

性能優化 - 高級進階: 性能優化全方位總結

文章目錄 Pre1. 概述&#xff1a;性能優化提綱與使用場景2. 準備階段2.1 明確優化范圍與目標2.2 環境與工具準備 3. 數據收集與指標確認3.1 關鍵資源維度與指標項3.2 監控體系搭建與初始采集3.3 日志與追蹤配置 4. 問題定位思路4.1 從整體到局部的分析流程4.2 常見瓶頸維度檢查…

Mybatis之Integer類型字段為0,入庫為null

背景&#xff1a; 由于項目某個功能用到優先級字段來判斷&#xff0c;需要在mysql表中定義一個字段XX&#xff0c;類型為int&#xff0c;默認為0&#xff0c;具體值由后臺配置&#xff0c;正常入庫即可 問題&#xff1a; 由于后臺配置存量其他類型的數據無需該字段&#xff0c…

上海市計算機學會競賽平臺2022年3月月賽丙組洗牌

題目描述 給定一個整數 nn&#xff0c;表示 nn 張牌&#xff0c;牌的編號為 11 到 nn。 再給定一個洗牌置換 f1,f2,…,fnf1?,f2?,…,fn?&#xff0c;進行一次洗牌操作時&#xff0c;應將第一號位置的牌交換到第 f1f1? 號位置&#xff0c;將第 ii 號位置的牌交換到第 fifi…

DINO-R1:激勵推理能力的視覺基礎模型

摘要 近期&#xff0c;人們對大型語言模型&#xff08;如DeepSeek-R1&#xff09;推理能力的關注呈爆炸式增長&#xff0c;通過基于強化學習的微調框架&#xff08;如組相對策略優化&#xff08;Group Relative Policy Optimization&#xff0c;GRPO&#xff09;方法&#xff…

Linux--LVM邏輯卷擴容

Linux–LVM邏輯卷擴容 文章目錄 Linux--LVM邏輯卷擴容?? LVM 常用命令分類及基本格式? 1. 物理卷(PV)相關命令? 2. 卷組(VG)相關命令? 3. 邏輯卷(LV)相關命令?? 三、查看類命令簡寫說明使用命令及基本格式:lvm邏輯卷擴容步驟:1.添加硬盤設備2.檢測新增硬盤 添加…

C#基礎語法與控制臺操作

1. 控制臺操作基礎 控制臺程序是學習C#的起點。以下是一些常用的控制臺操作方法&#xff1a; 1.1. 清除控制臺 Console.Clear(); // 清除控制臺內容1.2. 輸出字符串 Console.WriteLine("Hello World!"); // 在屏幕的當前位置換行輸出字符串 Console.Write("…