學習git后,真正在項目中如何使用?

文章目錄

    • 前言
    • 下載和安裝Git
    • 克隆遠程倉庫
    • PyCharm鏈接本地Git
    • 創建分支
    • 修改項目工程并提交到本地倉庫
    • 推送到遠程倉庫
    • 小結

前言

網上學習git的教程,甚至還有很多可視化很好的git教程,入門git也不是什么難事。但我發現,當我真的要從網上克隆一個項目、修改并上傳到遠程倉庫中時,我還是有些不知如何下手,即使我知道一些簡單的git知識。因此,我在此記錄下了一個簡單的從下載、安裝Git,到在本地和IDE修改項目,最后再同步到遠程倉庫的過程,以做學習和回顧之用。

Git的可視化學習:Learn Git Branching

Git簡單教程:Git 教程 | 菜鳥教程 (runoob.com)

下載和安裝Git

Git的下載和配置還是很簡單和清晰的。

  • 首先在Git官網下載。 Git - Downloading Package (git-scm.com)
  • 安裝我一路都是默認的,但是如果你對其中某些選項有要求,或者不清晰,可以查看這個博客:超級詳細的GitBash使用教程01:下載、安裝(適合小白)_git bash安裝-CSDN博客,這個博客還是比較清晰地針對安裝過程中每個選項都進行了注釋;
  • 安裝完成后,打開cmd,輸入 git, 如果出現如下圖所示就安裝成功了。

cmd中git

克隆遠程倉庫

通過git克隆遠程倉庫的操作也有很多,我這里使用的是一種比較簡單的。

  • 在資源管理器中打開到你想將克隆文件保存的文件夾;

  • 右擊,選擇 Open Git Bash here

  • 然后輸入 git clone +倉庫

我這里克隆的gitee上的一個項目,我之前進行克隆過了,就沒有真正執行克隆。

克隆倉庫舉例

PyCharm鏈接本地Git

由于之前的項目使用PyCharm,因此我也繼續沿用PyCharm。但可能你本地已經安裝了 Git,但是 PyCharm 卻提示沒有 Git 工具,可能是因為 PyCharm 沒有找到 Git 工具的路徑或者沒有正確設置 Git 工具路徑。

你可以在 PyCharm 中進行如下操作來配置 Git 工具路徑:

  1. 打開 PyCharm,在菜單欄中選擇 File -> Settings(或者按下快捷鍵 Ctrl + Alt + S)打開設置頁面。
  2. 在設置頁面左側的列表中找到 Version Control 選項,并展開此選項。
  3. 在展開的 Version Control 選項中,找到 Git 選項,并點擊進入 Git 配置頁面。
  4. 在 Git 配置頁面中,可以看到 Git 工具的路徑配置信息。確保路徑設置正確,如果沒有設置或者路徑不正確,通過 Edit 按鈕來設置正確的路徑。
  5. 設置之后,還可以點擊測試,如果成功會顯示Git的版本。

創建分支

在從網上克隆倉庫之后,由于這個倉庫我是參與者(如果你不是參與者,也可以了解創建分支的過程),我可以對遠程倉庫進行創建分支、合并等操作。

因此,在我克隆倉庫下來后,我希望現在就創建一個分支,以便之后上傳到遠程倉庫。

創建分支并將head移動當前分支

  • 首先打開該項目所在的文件夾, 右擊,點擊Open Git Bash here

  • 執行 git branch branch1, 創建一個名為“branch1”的新分支;

  • 執行 git checkout branch1 或者 git switch branch1, 將head指向分支“branch1”;

    git 2.23版本中引入了新的命令來替代checkout, checkout作為單個命令承載了很多獨立的功能。

  • 上面兩步也可以合并為一步 git checkout -b branch 創建并指向分支“branch1”

創建并指向新分支

修改項目工程并提交到本地倉庫

在進行修改完成之后,需要將工作區中修改的內容同步到本地倉庫(我的以下截圖與之前的截圖不同屬于一個倉庫,只是為了說明Git的流程)

  1. 執行 git status 查看倉庫當前的狀態,顯示有變更的文件。

  1. 執行git add .將所有有變更的文件添加到暫存區

  1. 執行 git commit 將所有新文件提交到本地倉庫
git commit -m [message]  -m后面跟一些提交的備注信息,如果不寫的話,會跳出一個界面讓我們寫備注信息

沒有加-m

以上即為跳出的讓我們寫備注信息的界面

推送到遠程倉庫

  1. 如果你是已經鏈接了遠程倉庫,直接執行 git push origin master, 將本地的 master 分支推送到 origin 主機的 master 分支。

  1. 如果你是像前面一樣,是創建了分支,則將master改成分支名字進行推送;

  2. 如果是沒有鏈接到遠程倉庫,而只是本地倉庫,則首先需要添加一個新的遠程倉庫。指定一個遠程倉庫的名稱和 URL,將其添加到當前倉庫中。

    git remote add origin [遠程倉庫url]
    

    這里由于我添加過遠程倉庫了就沒有執行該行命令。

現在已經走完了主要Git的工作流程。

小結

本文主要簡單介紹了Git操作從開始一個項目到推送到遠程倉庫中的一連串操作。在這個人人都知道版本管理的時候,往往像我這樣的小白卻不知如何開始使用,網上的操作往往很全面,但是在什么時候怎么做該怎么用,卻不是連貫的介紹。因此希望本文能夠給你帶來一點Git學習方面的作用。

如果您覺得我寫的不錯,麻煩給我一個免費的贊!如果內容中有錯誤,也歡迎向我反饋。

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

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

相關文章

ubuntu18.04安裝pcl1.11.1

一、安裝pcl1.11.1依賴 sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-default-dev openmpi-bin openmpi-…

SQL事務的開啟,提交和回滾

在處理數據庫數據的時候會出現一種情況就是我們刪除兩個關聯的表其中一個表的信息,另一個表也需要改動,但是我們SQL語句在同時更改兩個表的同時,難免會出現一個表修改成功,另一個出現錯誤,這時候表與表之間就會出現矛盾…

webrtc網之sip轉webrtc

OpenSIP是一個開源的SIP(Session Initiation Protocol)服務器,它提供了一個可擴展的基礎架構,用于建立、終止和管理VoIP(Voice over IP)通信會話。SIP是一種通信協議,用于建立、修改和終止多媒體…

geolife 筆記:將所有軌跡放入一個DataFrame

單條軌跡的處理:geolife筆記:整理處理單條軌跡-CSDN博客 1 加載數據 import pandas as pd import numpy as np import datetime as dt import osdata_dir Geolife Trajectories 1.3/Data/ 1.1 列出所有文件夾 dirlist os.listdir(data_dir) dirlist…

Esxi登錄超時:“由于不活動超時,您已被注銷“,修改UserVars.HostClientSessionTimeout為0永不超時

Esxi登錄超時:“由于不活動超時,您已被注銷”,修改UserVars.HostClientSessionTimeout為0永不超時 UserVars.HostClientSessionTimeout0永不超時 Esxi網頁登錄后,一段時間不操作就會被注銷 提示: 由于不活動超時,您已被注銷 主機→管理→系統→高級設…

【linux】查看CPU和內存信息

之前咱們一起學習了查看內存的和CPU的命令。 ?mpstat : 【linux】 mpstat 使用 uptime:【Linux】 uptime命令使用 CPU的使用率:【linux】查看CPU的使用率 nmon :【linux】nmon 工具使用 htop :【linux】htop 命令…

文件格式對齊、自定義快捷鍵、idea

文件格式對齊 Shift Alt F 自動格式化代碼的快捷鍵(如何配置自動格式化) 日常編碼必備idea快捷鍵 [VS Code] 入門-自定鍵盤快捷鍵 文件格式對齊 文件格式對齊通常是通過編輯器或IDE提供的快捷鍵或命令完成的。以下是一些常見編輯器和IDE中進行文件…

四、C#筆記

/// <summary> /// 第七章&#xff1a;創建并管理類和對象 /// </summary> namespace Chapter7 { class Program { public static int Num 0;//7.6.1創建共享字段 public const double PI 3.1415926;//7.6.2使用const關鍵字創建靜態字段…

快速認識什么是:Docker

Docker&#xff0c;一種可以將軟件打包到容器中并在任何環境中可靠運行的工具。但什么是容器以及為什么需要容器呢&#xff1f;今天就來一起學快速入門一下Docker吧&#xff01;希望本文對您有所幫助。 假設您使用 Cobol 構建了一個在某種奇怪風格的 Linux 上運行的應用程序。您…

Linux C語言 41-進程間通信IPC之共享內存

Linux C語言 41-進程間通信IPC之共享內存 本節關鍵字&#xff1a;C語言 進程間通信 共享內存 shared memory 相關庫函數&#xff1a;shmget、shmat、shmdt、shmctl 什么是共享內存&#xff1f; 共享內存&#xff08;Shared Memory&#xff09;指兩個或多個進程共享一個給定的…

InnoDB Architecture MySQL 5.7 vs 8.0

innodb-architecture-5-7 innodb-architecture-8-0 圖片均來源于MySQL官網

【Vue】props與$emit的簡單理解

Vue組件 組件是Vue中不可或缺的一個功能&#xff0c;它可以將一個頁面劃分為多個獨立的內部組件&#xff0c;方便代碼的管理。 定義組件 <body><div id"App"><bcomp></bcomp></div><script>const app Vue.createApp({})cons…

【2023傳智杯-新增場次】第六屆傳智杯程序設計挑戰賽AB組-ABC題復盤解題分析詳解【JavaPythonC++解題筆記】

本文僅為【2023傳智杯-第二場】第六屆傳智杯程序設計挑戰賽-題目解題分析詳解的解題個人筆記,個人解題分析記錄。 本文包含:第六屆傳智杯程序設計挑戰賽題目、解題思路分析、解題代碼、解題代碼詳解 文章目錄 一.前言二.賽題題目A題題目-B題題目-C題題目-二.賽題題解A題題解-…

Servlet should have a mapping

第一種可能&#xff1a; 你就是沒寫Servlet <servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置springMVC需要加載的配置文件--><init-par…

Android studio生成二維碼

1.遇到的問題 需要生成一個二維碼&#xff0c;可以使用zxing第三方組件&#xff0c;增加依賴。 //生成二維碼 implementation com.google.zxing:core:3.4.1 2.代碼 展示頁面 <ImageViewandroid:id"id/qrCodeImageView"android:layout_width"150dp"an…

ubuntu 如何修改主機名稱

UBUNTU 2018.04 LTS 64位 修改當前電腦的主機名稱。 操作步驟如下&#xff1a; 假設你的主機名為AAAAA &#xff0c; 打算修改為BBBBB。開機進入桌面。 打開一個終端。命令行下&#xff0c;使用vi /etc/hostname指令&#xff0c;編輯主機名稱。將hostname文件里的AAAAA改為BB…

【Linux】echo命令使用

?echo命令 功能是在顯示器上顯示一段文字&#xff0c;一般起到一個提示的作用。此外&#xff0c;也可以直接在文件中寫入要寫的內容。也可以用于腳本編程時顯示某一個變量的值&#xff0c;或者直接輸出指定的字符串。 ? 著者 由布萊恩福克斯和切特拉米撰寫。 語法 echo […

Flum--環境搭建實驗

1.解壓flum安裝包 解壓到/opt/module下&#xff1a; tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/ 2.修改flum名字&#xff1a; mv /opt/module/apache-flume-1.9.0-bin /opt/module/flume 3.將lib文件夾下的guava-11.0.2.jar刪除以兼容Hadoop…

圖像萬物分割——Segment Anything算法解析與模型推理

一、概述 在視覺任務中&#xff0c;圖像分割任務是一個很廣泛的領域&#xff0c;應用于交互式分割&#xff0c;邊緣檢測&#xff0c;超像素化&#xff0c;感興趣目標生成&#xff0c;前景分割&#xff0c;語義分割&#xff0c;實例分割&#xff0c;泛視分割等。 交互式分割&am…

設計模式之結構型模式(適配器、橋接、組合、享元、裝飾者、外觀、代理)

文章目錄 一、結構型設計模式二、適配器模式三、橋接模式四、組合模式五、享元模式六、裝飾者模式七、外觀模式八、代理設計模式 一、結構型設計模式 這篇文章我們來講解下結構型設計模式&#xff0c;結構型設計模式&#xff0c;主要處理類或對象的組合關系&#xff0c;為如何…