web-上傳項目文件夾到Git遠程倉庫

Git初識

概念:一個免費開源,分布式的代碼版本控制系統,幫助開發團隊維護代碼

作用:記錄代碼內容,切換代碼版本,多人開發時高效合并代碼內容

檢驗成功

  • 打開bash終端(git專用)
  • 命令:git -V(查看版本號)

?Git配置用戶信息

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

命令:

?掌握Git倉庫

Git倉庫(respository):記錄文件狀態內容的地方,存儲著修改的歷史記錄(.git文件夾)

創建:

  1. 把本地文件夾轉換成Git倉庫:命令git init
  2. 從其他服務器上克隆Git倉庫

需求:創建一個空白的Git倉庫

Git的三個區域

Git使用時:

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

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

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

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

git ls-files獲取放在暫存區中的文件

?Git文件狀態

Git文件2種狀態:

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

使用:修改文件,暫存,提交保存記錄,如此反復?

需求:新增css文件,并使用git status -s查看文件狀態,并最終提交?

第一列是暫存區狀態,第二列是工作區狀態

Git暫存區使用

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

暫存區->覆蓋->工作區,命令:git restore 目標文件(注意:完全確認覆蓋時使用

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

查看暫存區內的文件:git ls-files

練習-登陸頁面

需求:新增JS代碼并暫存提交產生新的版本快照

步驟

  1. 新增JS文件和內容
  2. 臨時存放在暫存區
  3. 提交保存到版本庫?

Git回退版本

查看提交歷史:git? log --oneline

回退命令:

git reset --soft 版本號(其他文件未跟蹤)

git reset --hard 版本號

git reset --mixed 版本號 (與git reset等價)

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

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

查看完整日志:git reflog --oneline

?刪除文件

需求:刪除editor.js文件,并產生一次版本記錄

步驟:

  1. 手動刪除工作區文件
  2. 暫存變更/手動刪除暫存區文件造成變更
  3. 提交保存

總結:工作區只要改變,都可以暫存提交產生新記錄

忽略文件

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

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

例如:

  1. 系統或軟件自動生成的文件
  2. 編譯產生的結果文件
  3. 運行時產生的日志文件,緩存文件,臨時文件等
  4. 涉密文件,密碼,秘鑰等文件

創建:

  1. 項目根目錄新建.gitignore文件
  2. 填入相應配置來忽略指定文件

注意:如果文件已經被暫存區跟蹤過,可以從暫存區移除即可

分支

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

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

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

例如:在現有代碼上創建新分支宛城內容列表業務,或者突然需要緊急修復BUG-單獨創建分支解決Bug

需求:創建內容列表content分支,并產生3次提交記錄

步驟:

  1. 創建分支命令:git branch 分支名
  2. 切換分支命令:git checkout 分支名
  3. 工作區準備代碼并暫存提交,重復3次

git branch查看當前有哪些分支

?練習-登錄bug修復

需求:新建login-bug分支,做兩次提交記錄(對手機號長度,驗證碼長度做判斷)

步驟:

  1. 切回到主分支:git checkout master
  2. 創建新分支:git branch login-bug
  3. 切換新分支:git checkout login-bug
  4. 修改代碼,暫存,提交產生版本記錄

?分支-合并和刪除

需求:把login-bug合并回到master分支并刪除logh-bug分支

步驟:

  1. 切回到要合入的分支上:git checkout master
  2. 合并其他分支過來:git merge login-bug
  3. 刪除合并后的分支指針:git branch -d login-bug

分支-合并與提交

?合并提交:發生于原分支產生了新的提交記錄后,再合并回去時發生,自動使用多個快照記錄合并后產生一次新的提交

步驟:

  1. 切回到要合入的分支上:git checkout master
  2. 合并其他分支過來:git merge content
  3. 刪除合并后的分支:git branch -d content

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

分支-合并沖突

需求1:基于master新建publish分支,完成發布文章業務,然后修改內容頁面的html文件的title標簽,并提交一次?

需求2:切換到master,也在修改內容頁面的html文件的title標簽,并提交一次

沖突:把publish分支合并到master回來,產生合并沖突

概念:不同分支中,對同一個文件同一部分進行修改,Git無法干凈的合并,產生合并沖突

解決:

  1. 打開VSCode找到沖突文件并手動解決
  2. 解決后需要提交一次記錄

Git常用命令

命令作用注意
git -v查看git版本
git init初始化git倉庫
git add 文件標識暫存某個文件文件標識以終端為起始的相對路徑
git add .暫存所有文件
git commit -m '說明注釋'提交產生版本記錄每次提交,把暫存區內容快照一份
git status查看文件狀態-詳細信息
git status -s查看文件狀態-簡略信息第一列時暫存區狀態,第二列是工作區狀態
git ls-flies查看暫存區文件列表
git restore從暫存區恢復到工作區如果文件標識為.則恢復所有文件
git rm --cashed 文件標識從暫存區移除文件不讓git跟蹤文件變化
git log查看提交記錄-詳細信息
git log --oneline查看提交記錄-簡略信息版本號 分支指針 提交時說明注釋
命令作用注意
git reflog --oneline查看完整歷史 - 簡略消息包括提交,切換,回退等所有記錄
git reset 版本號切換版本代碼到暫存區和工作區

--soft模式保留暫存區和工作區原本內容

--hard 模式不保留暫存區和工作區原本內容

--mixed 模式不保留暫存區,工作區保留(默認)

先覆蓋到暫存區,再用暫存區對比覆蓋工作區

git branch 分支名創建分支
git branch查看本地分支
git branch -d 分支名刪除分支請確保記錄已經合并到別的分支下,再刪除分支
git checkout 分支名切換分支
git checkout -b 分支名創建并立刻切換分支
git merge 分支名把分支提交歷史記錄合并到當前所在分支

Git遠程倉庫

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

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

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

?需求:創建遠程版本庫

步驟:

  1. 注冊第三方托管平臺網站賬號
  2. 新建倉庫得到遠程倉庫Git地址
  3. 本地Git倉庫添加遠程倉庫原點地址 命令:git remote add 遠程倉庫別名 遠程倉庫地址
  4. 本地Git倉庫推送版本記錄到遠程倉庫 命令:git push -u 遠程倉庫別名 本地和遠程分支名

Git遠程倉庫-克隆

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

命令:git clone 遠程倉庫地址

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

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

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

多人協同開發

命令作用注意
git remote add 遠程倉庫別名 遠程倉庫地址添加遠程倉庫地址別名唯一,地址是.git結尾的網址
git remote -v?查看遠程倉庫地址
git remote remove 遠程倉庫別名刪除遠程倉庫地址
git pull 遠程倉庫別名 分支名拉取完整寫法:git pull 遠程倉庫別名 遠程倉庫分支名:本地分支名等價于:git fetch 和git merge
git push 遠程倉庫別名 分支名推送

完整寫法:git push 遠程倉庫別名 本地分支名:遠程分支名 -u:建立通道后以后可以簡寫git push

git clone 遠程倉庫地址克隆從0得到一個遠程的Git倉庫到本地使用

git pull --rebase 遠程倉庫別名 分支名

合并沒有關系的記錄

?

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

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

相關文章

12. MySQL 日志

文章目錄 【 1. 日志的基本原理 】【 2. 錯誤日志 Error Log 】2.1 啟動和設置錯誤日志2.2 查看錯誤日志2.3 刪除錯誤日志 【 3. 二進制日志 Binary Log 】3.1 啟動和設置二進制日志3.2 查看二進制日志3.3 刪除二進制文件刪除所有二進制日志刪除小于指定編號的二進制日志刪除創…

【vue3+pinia+uniapp項目問題:使用pinia狀態管理時store的數據更新,模板渲染視圖不能實時更新】

在這里選擇不同的學校后,發現store里面的數據打印出來能更新,但是使用store的數據打印出來并未實時更新且渲染在模板上,必須手動刷新視圖才能更新。 原因是因為使用了解構賦值傳入參數 解決方法 1.使用computed 現在視圖能進行實時更新…

分享一個 .Net core Console 項目使用 SqlSugar 的詳細例子

前言 SqlSugar 是一款老牌的 .NET 開源 ORM 框架,性能高,功能全面,使用簡單,支持 .NET FrameWork、.NET Core3.1、.NET5、.NET6、.NET7、.NET8、.NET9 等版本,線上論壇非常活躍,今天給大伙分享一個 .Net c…

查看遠程桌面端口,查看服務器的遠程桌面端口的方法

如果你正在尋找一種方法來檢查服務器的遠程桌面端口,那么請務必按照以下步驟操作,以確保準確且安全地獲取所需信息。這不僅是一個技術問題,更是一個關于效率和安全性的重要議題。 首先,你需要明確,遠程桌面端口通常是…

回溯算法之遞增子數列

題目: 給你一個整數數組 nums ,找出并返回所有該數組中不同的遞增子序列,遞增子序列中 至少有兩個元素 。你可以按 任意順序 返回答案。 數組中可能含有重復元素,如出現兩個整數相等,也可以視作遞增序列的一種特殊情…

【數據結構與算法 | 二叉樹篇】二叉樹的前中后序遍歷(迭代版本)

1. 前言 前文我們實現了二叉樹前中后三種遍歷方式的遞歸版本,非常簡單. 接下來我們來實現一下其迭代版本. 2. 二叉樹的前序遍歷 (1). 題 給你二叉樹的根節點 root ,返回它節點值的 前序 遍歷。 示例 1: 輸入:root [1,null,2…

語音技能云云接入通用平臺

Cloud-to-Cloud(云云接入) 前言 項目地址:https://github.com/LeYunone/cloud-to-cloud 配置說明:https://leyunone.com/github-project/voice-cloud-cloud-config.html 注:學習測試以及使用請拉取 master 分支,release 是開發…

python pip 安裝

如果您不確定pip的安裝路徑,可以通過以下命令來查詢: pip show pip 這個命令會顯示pip的詳細信息,其中包括pip安裝的路徑。如果您想修改pip的默認安裝路徑,可以使用pip的"--target"參數指定目標路徑,例如&a…

8.7k Star!Khoj:你的AI第二大腦、開源RAG Cop??ilot、平替 MS Copilot與ChatGPT

原文鏈接:(更好排版、視頻播放、社群交流、最新AI開源項目、AI工具分享都在這個公眾號!) 8.7k Star!Khoj:你的AI第二大腦、開源RAG Cop??ilot、平替 MS Copilot與ChatGPT 🌟你的AI第二大腦。…

zynq-7015啟動分析及裸機BootLoader編寫(未完待續)

使用lwip-tcp遠程對QSPI進行更新、QSPI FLASH啟動 W25Q128資料: W25Q128JV datasheet(1/78 Pages) WINBOND | 3V 128M-bit serial flash memory with dual/quad spi (alldatasheet.com) UG585資料: Zynq 7000 SoC Technical Reference Manual-UG585 翻譯…

【ARFoundation自學05】人臉追蹤(AR Face manager)實現

1. 修改攝像機朝向渲染方式-選中user 這個方式就會調用前置攝像頭 2 創建 AR Session、XR Origin,然后在XR Origin上面添加組件 注意:XR Origin 老版本仍然叫 AR Session Origin 接下來在XR Origin上面添加AR Face Manager組件,如下圖&am…

劇本殺市場仍在快速發展,劇本殺小程序成為了新的機遇

近年來,劇本殺一直是年輕人的娛樂游戲方式之一,劇本殺行業呈現出了井噴式發展的形勢,成為了當下爆火的娛樂方式。目前,劇本殺行業擁有了完善的劇本資源和呈現方式,發展前景非常大。 根據當下的數據顯示,劇…

NextJs 實現自定義點火操作

NextJs 實現自定義點火操作 前言實現自定義點火 前言 我希望在Nextjs 啟動的時候,能夠自定義實現一些項目的初始化邏輯,也可以說是一些點火操作,比如資源的加載,數據的初始化等操作。 實現自定義點火 我們可以在根目錄下創建一…

Android 開機動畫的啟動過程BootAnimation(基于Android10.0.0-r41)

文章目錄 Android 開機動畫的啟動過程BootAnimation(基于Android10.0.0-r41)1.開機動畫的啟動過程概述2.為什么設置了屬性之后就會播放? Android 開機動畫的啟動過程BootAnimation(基于Android10.0.0-r41) 1.開機動畫的啟動過程概述 下面就是BootAnimation的重要部…

移動app測試重要性體現在哪些方面?專業app測試報告獲取

移動app測試是指對手機應用進行各種測試和評估的過程,以確保應用的功能、性能和用戶體驗達到要求。在現代社會中,移動應用已經成為人們日常生活的一部分。無論是社交娛樂、購物支付還是工作學習,移動應用都發揮著不可替代的作用。因此&#x…

常微分方程 (ODE) 和 隨機微分方程 (SDE)

常微分方程(Ordinary Differential Equations, ODE)和隨機微分方程(Stochastic Differential Equations, SDE)是數學中描述系統動態行為的重要工具。它們有一些相似之處,但在處理隨機性方面存在顯著差異。 常微分方程…

Oracle數據庫面試題-5

81. 請解釋Oracle數據庫中的自動空間重新壓縮(Automatic Space Recompression)的概念。 Oracle 數據庫中的自動空間重新壓縮(Automatic Space Recompression) 自動空間重新壓縮是 Oracle 數據庫中的另一個重要特性,它…

Vue響應式系統分支切換與cleanup - 清除遺留的副作用函數

文章目錄 前言分支切換與cleanup分支切換的問題依賴集合的收集cleanup的實現完整的代碼展示 前言 本篇文章代碼思路來自 Vue3.0 源碼, 部分理解來源于霍春陽 《Vue.js設計與實現》這本書的理解, 感興趣的小伙伴可以自行購買閱讀。可以非常明確的感受到作者對 Vue 的深刻理解以及…

每天寫java到期末考試(6.6)-java文件輸入輸出流實驗

1、用字節流讀寫二進制文件 要求:用DataOutputStreamFileOutputStream類將1,2,…,100,這100個數字寫入到文件 d:\out1.bin里,然后再用DatalnputStreamFilelnputStream類將d:\out1.bin的內讀出來,并輸出到屏幕上。 用DataOutputStreamFileOutputStream寫入二進制數據時,直接調…

單元測試AIR原則:提升代碼質量的秘密武器

文章目錄 引言一、AIR原則1. Automatic(自動化)2. Independent(獨立性)3. Repeatable(可重復性) 二、Automatic(自動化)三、Independent(獨立性)四、Repeatab…