6---Linux下版本控制器Git的知識點

一、Linux之父與Git的故事:

  • Linux之父叫做“Linus Torvalds”,我們簡稱為雷納斯。
  • Linux是開源項目,所以在Linux的早期開發中,許多世界各地的能力各異的程序員都參與到Linux的項目開發中。那時,雷納斯每天都會收到許許多多郵件,里面是每個程序員自己的代碼,雷納斯要審核其中的代碼并且不斷添加到Linux的源碼中。
  • 這種工作使得雷納斯不斷壓縮自己的私人時間,終于他受不了了。于是他想要有一款分布式版本控制系統,可以讓開發者在本地創建分支和進行合并操作,無需每次都與中央服務器通信。也能夠讓開發者可以獨立工作并在本地倉庫中進行提交,然后再與其他開發者同步更改
  • 于是他就找到了BitKeeper,但是BitKeeper是商業軟件,需要付費使用。違背了雷納斯對開源原則的信仰,并且使用收費的版本控制軟件可能會排斥一些開發者,限制了他們參與項目的能力。于是雷納斯和其團隊決定放棄使用BitKeeper。
  • BitKeeper的老板聽聞后,決定免費向Linux社區提供BitKeeper的使用權限。后來由于社區內部的一些矛盾和沖突(Linux內核開發社區中的一些成員對于依賴BitKeeper這樣一個閉源的商業軟件一直存在不滿。他們擔心使用一個閉源工具來開發開源軟件會帶來潛在的問題,比如數據鎖定和對商業公司的依賴。于是Andrew Tridgell,知名的開源開發者(Samba項目的主要開發者之一),嘗試逆向工程BitKeeper的協議以便創建一個開源的替代工具。這一舉動被BitMover公司視為威脅,認為這可能違反了他們的使用協議。),最終導致BitMover公司決定收回Linux社區的免費使用權限。
  • BitMover公司撤回Linux社區免費使用BitKeeper的權限,對Linux內核的開發產生了重大影響,因為開發者們突然失去了他們依賴的版本控制工具。面對這一情況,雷納斯迅速采取行動。決定自己開發一個新的版本控制系統。并在短短的幾個星期內就完成了基本功能。且進行了開源,于是乎Git就誕生了。
  • 由于Git是開源軟件,內核開發者迅速采用了它,并對其進行了改進和擴展。
  • Git不僅解決了Linux內核開發的版本控制問題,還迅速成為全球最流行的版本控制系統。現在被廣泛應用于各種開源和商業項目,許多開發團隊使用它來管理代碼庫。

二、Git操作:

2.1Git創建倉庫:

  • 創建時的步驟:

????????

  • 創建完成后的樣子:

????????

2.2刪除倉庫:

  • 點擊管理->刪除倉庫

????????

  • 確認刪除

????????

2.3創建本地倉庫:

  • 復制遠端倉庫鏈接:

????????

  • 查看當前Linux是否安裝了git:

????????

git --version

  • 如果沒有顯式版本,可以先安裝:

????????

sudo yum install -y git

  • 本地先創建一個目錄,然后輸入指定代碼,建立兩個倉庫之間的鏈接:

????????

git clone + 遠端倉庫鏈接

  • 配置完成:

????????

2.4提交本地代碼到遠端倉庫:

  • 將代碼放到剛才下載好的目錄中
git add .
  • 提交改動到本地:

? ? ? ? 完成該步驟之后,已經將本地代碼的變化添加到了本地的.git倉庫中。

git commit -m “本次提交的核心信息,不要亂寫”
  • 同步到遠端服務器上:需要填入用戶名密碼.同步成功后,刷新 Github 頁面就能看到代碼改動了.
git push

2.5 查看提交日志:

git log

2.6同步遠端倉庫到本地:

  • 如果有人克隆我的開源倉庫到本地,當我更新了自己的本地倉庫并且同步了遠程倉庫。其他人想要在克隆的本地倉庫看到我的更新,就需要以下指令先更新自己的本地倉庫。
git pull

2.7多人協同,如何判斷其他人是否有過提交?

  • 正常提交,如果push成功,說明遠端倉庫沒有被修改過。
  • 如果遠端倉庫有別人更新,這次push就不會成功,就需要自己先git pull將遠端倉庫和自己本地倉庫同步,然后再push。

2.8查看當前倉庫是否完全提交:

  • 使用指令git status查看當前倉庫是否有文件未被提交。
  • 如果有文件未被提交,會說明哪個文件沒有被提交。
git status

三、首次git,需要的配置解析:

  • 首次向git提交代碼,需要提交郵箱和用戶名:

????????

  • 只需要將以上兩條代碼分別復制,然后將雙引號中的內容更改為自己的郵箱和用戶名即可。
  • 之后的提交都可以正常提交了。

四、.gitignore文件解析:

  • 可以理解為一個文件過濾器,過濾掉不想上傳到遠端倉庫的文件。
  • 向.gitignore文件中添加文件后綴,所有在該文件中聲明的后綴,在上傳文件到遠端倉庫時,都會被過濾掉。

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

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

相關文章

用ntpdate同步時間出現問題

1. 使用ntpdate同步 [rootnode ~]# ntpdate ntp.aliyun.com4 Aug 00:07:17 ntpdate[20924]: adjust time server 203.107.6.88 offset -0.001543 sec2. 查看時間 [rootnode ~]# date Thu Aug 4 00:07:46 CST 20223. 如果時間對不上 報錯信息 cna02:~ # ntpdate ntp1.aliyu…

mysql社區版最多支持多個連接并發

MySQL社區版對于并發連接數的支持并沒有一個固定的上限,它實際上取決于多個因素,包括服務器的硬件配置、MySQL的配置參數以及應用程序的設計等。 硬件配置:服務器的CPU、內存和磁盤I/O等硬件資源會直接影響MySQL可以處理的并發連接數。例如&a…

VMware Fusion 13.5.2 for Mac 發布,產品訂閱模式首個重大變更

VMware Fusion 13.5.2 for Mac 發布,產品訂閱模式首個重大變更 適用于基于 Intel 處理器和搭載 Apple 芯片的 Mac 的桌面虛擬化軟件 請訪問原文鏈接:https://sysin.org/blog/vmware-fusion-13/,查看最新版。原創作品,轉載請保留…

vue props接收組件數據(類型配置)

"props"接收的常見傳參類型有以下幾種:String:字符串類型,Number:數字類型,Boolean:布爾類型,Array:數組類型,Object:對象類型,Date&am…

文章解讀與仿真程序復現思路——中國電機工程學報EI\CSCD\北大核心《集裝箱海港級聯物流-能源耦合系統協同優化方法 》

本專欄欄目提供文章與程序復現思路,具體已有的論文與論文源程序可翻閱本博主免費的專欄欄目《論文與完整程序》 論文與完整源程序_電網論文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 電網論文源程序-CSDN博客電網論文源…

FPGA - GTX收發器-K碼 以及 IBERT IP核使用

一,前言 在FPGA - Xilinx系列高速收發器---GTX中詳細介紹了GTX的基礎知識,以及IP核的調用,下面將補充一下GTX在使用中的高速串行數據流在接收和發送時的控制與對齊(K碼),以及高速接口GTX,如果G…

Springboot開發 -- Postman 調試 session 驗證 接口

當我們在開發Spring Boot應用時,經常會遇到帶有Session驗證的接口,這些接口需要用戶先登錄并獲取到Session ID(或稱為cookie中的JSESSIONID),然后在后續的請求中攜帶這個Session ID來保持會話狀態。下面我將以一個實際…

力扣72-編輯距離

題目鏈接 記憶化搜索: 解題關鍵:每次僅考慮兩字符串word1、word2分別從0 - i修改成0-j下標的完全匹配(下標表示) 臨界條件:當 i 或 j 小于0時,表示該字符串為空,編輯距離確定為 y1 或 x1 int dp[501][501…

Hello, GPT-4o!

2024年5月13日,OpenAI 在官網正式發布了最新的旗艦模型 GPT-4o 它是一個 多模態模型,可以實時推理音頻、視頻和文本。 * 發布會完整版視頻回顧:https://www.youtube.com/watch?vDQacCB9tDaw GPT-4o(“o”代表“omni”&#xff0c…

高效協同,智慧繪制:革新型流程圖工具全解析

流程圖,作為一種直觀展示工作過程和系統運作的工具,在現代辦公和項目管理中發揮著不可或缺的作用。 其優勢在于能夠清晰、直觀地呈現復雜的過程和關系,幫助人們快速理解并掌握關鍵信息。同時,流程圖也廣泛應用于各種場景&#xf…

linux常用命令(持續更新)

1.sudo -i 切換root權限 2. ll 和 ls 查看文件夾下面的文件 3. cat 查看文件內容 cat xxx.txt |grep 好 篩選出有好的內容 4. vi 編輯文件 點擊insert進入編輯模式 編輯完之后點擊Esc退出編輯模式 數據:wq!回車保存文件 5. ssh 連接到可以訪問的系統 6. telnet 看端口是否可以…

【Python】圖像批量合成視頻,并以文件夾名稱命名合成的視頻

一個文件夾中有多個子文件夾,子文件夾中有多張圖像。如何把批量把子文件夾中的圖像合成視頻,視頻名稱是子文件夾的名稱,生成的視頻保存到指定文件夾,效果記錄。 代碼 import os import cv2def create_video_from_images(image_f…

leetcode刷題(6):二叉樹的使用

文章目錄 104. 二叉樹的最大深度解題思路c 實現 94. 二叉樹的中序遍歷解題思路c 實現 101. 對稱二叉樹解題思路c 實現 96. 不同的二叉搜索樹解題思路c 實現 102. 二叉樹的層序遍歷解題思路c 實現 104. 二叉樹的最大深度 題目: 給定一個二叉樹 root ,返回其最大深度…

重新認識Flutter跨平臺技術(上)

背景 2017年,Flutter剛推出來的時候,正好自己在做TV Launcher開發的工作。 我們知道TV Launcher是Android TV操作系統中的一個啟動器應用程序。它負責在打開電視時展示給用戶的主要界面,包括應用程序圖標、推薦內容等。通過Android TV Launcher,用戶可以方便地瀏覽和啟動…

ALV 圖標顯示

前言 在ABAP ALV中,使用fieldcat來定義列表中每個字段的顯示屬性,包括圖標(Icon)的顯示。圖標可以在ALV列表中為特定列的行或標題添加圖形元素,以增強視覺提示或傳達附加信息。 ICON查詢 圖標的名稱用事務碼”ICON“進…

智能BI(后端)-- 系統異步化

文章目錄 系統問題分析什么是異步化?業務流程分析標準異步化的業務流程系統業務流程 線程池為什么需要線程池?線程池兩種實現方式線程池的參數線程池的開發 項目異步化改造 系統問題分析 問題場景:調用的服務能力有限,或者接口的…

離岸公司+外貿

為什么外貿公司老板都喜歡注冊離岸公司呢?怎樣利用離岸公司做進出口貿易呢? 今天大家花一分鐘時間來了解清楚 第一步就是注冊一家離岸公司,將這個離岸公司作為國際外貿的中轉站,與國外客戶簽訂單,你從國內工廠采購商…

【文檔理解】TextMonkey:一種OCR-Free的用于文檔理解的多模態大模型

背景 傳統的信息提取,通常是從文本中提取信息,相關技術也比較成熟。然而對于復雜領域,例如圖片,文檔等形式的數據,想要提取出高質量的、可信的數據難度就比較大了,這種任務也常稱為:視覺文檔理…

CTF網絡安全大賽web題目:just_sqli

這道題目是bugku的web題目 題目的 描  述: KosenCTF{} 原文鏈接&#xff1a; CTF網絡安全大賽web題目&#xff1a;just_sqli - 紅客網-網絡安全與滲透技術 題目Web源代碼&#xff1a; <?php$user NULL; $is_admin 0;if (isset($_GET["source"])) {highlig…

齊護K210系列教程(二十七)_語音識別

語音識別 1.燒錄固件和模型2.語音識別程序2.1訓練并識別2.2使用本地文件語音識別 3.課程資源聯系我們 1.燒錄固件和模型 注&#xff1a;本應用只適用于有麥克風功能的型號&#xff1a;AIstart_pro、AIstart_掌機、AIstart_Mini, 其它型號不支持&#xff01; 機器碼生成以及模…