IDEA集成Git

一、配置Git忽略文件

例如:用eclipse創建的項目有其特定的文件,例如:.classpath,.project文件,而用IDEA創建的項目也有其特定的文件:.xml,.iml,.target,我們需要最好忽略他們。

為什么要忽略他們?

與項目的實際功能無關,不參與服務器上部署運行。把它們忽略掉能夠屏蔽 IDE 工具之間的差異。所以如果我們忽略掉,好處就是1.減少上傳量;2.如果該項目是eclipse創建的,則存在eclipse的特定文件,而如果我們使用IDEA運行這些特定文件可能會干擾到運行。壞處就是我們直接用eclipse運行,但是忽略后少了這些配置文件,也運行不起來

忽略操作

1)創建忽略規則文件 xxxx.ignore(前綴名隨便起,建議是 git.ignore)

這個文件的存放位置原則上在哪里都可以,為了便于讓.gitconfig 文件引用,建議也放在用

戶家目錄C:\Users\ASUS下。

git.ignore 文件模版內容如下:

# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see 
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml

2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目錄中)

[user]
name = Layne
email = Layne@atguigu.com
[core]
excludesfile = C:/Users/asus/git.ignore
注意:這里要使用“正斜線(/)”,不要使用“反斜線(\)

二、IDEA操作本地庫

定位Git程序

我的安裝目錄為:D:\ProgramSofts\Git\bin\git.exe,版本為2.33.1
在這里插入圖片描述

初始化本地庫

在這里插入圖片描述

選擇要創建 Git 本地倉庫的工程

在這里插入圖片描述

點擊OK后,gitTest項目就初始化為本地庫了,在IDEA下項目的所有文件名都是紅色的,這表示文件都在工作區中,尚未被追蹤(加入暫存區)

添加到暫存區

右鍵點擊項目(可以以項目為單位進行選擇或者以文件為單位)選擇 Git -> Add 將項目添加到暫存區。
方式一:以項目為單位
在這里插入圖片描述
方式二:以未提交到暫存區的文件為單位
在這里插入圖片描述

Add后項目下所有的文件名都為綠色,這表示添加到暫存區了。

提交到本地庫

方式一:以項目為單位
在這里插入圖片描述
方式二:以未提交到本地庫的文件為單位
在這里插入圖片描述
提交信息,同時取消勾選代碼分析

在這里插入圖片描述

提交完成后項目下的文件名又變為黑色。

切換版本

每當對一個文件進行修改后,右鍵項目或該文件選擇Git->commit file/directory都視為提交一個新的版本。

在 IDEA 的左下角,點擊 Version Control,然后點擊 Log 查看版本
在這里插入圖片描述

選中某個版本后右鍵選擇要切換的版本,然后在菜單里點擊 Checkout Revision。

在這里插入圖片描述

切換分支

直接使用切換版本不就好了嗎?

兩者的處理場景并不一樣,版本切換是一個項目已經開發完畢了,提交產生的一個新的版本,如果我們不滿意這個版本,我們可以切換到上一個版本去。分支切換是項目在開發過程中,一個項目需要進行功能擴展,分支類似將此時的項目進行拷貝,將副本給開發人員進行開發,開發好后合并到主線上去,合并的主線分支又是一個新的版本。N個人之所以可以同時進行功能擴充,是因為分支的存在,N個人進行功能擴充,就存在N條分支,每次開發完成進行提交就產生一個新的版本,開發完畢就存在N個新版本。所以最主要的區別是分支可以對同一版本的項目進行功能擴展,每個人將自己需要實現的接口開發好后,負責人可以合并他們的代碼形成一個新的版本,但是如果只使用版本是無法合并代碼的。(其實不用糾結,好好理解分支的優勢就明白為什么存在分支切換了。)

創建分支

1)直接點擊IDEA右下角Git->New Branch(或者是一個?號)

在這里插入圖片描述

2)或者在項目或者某個文件選擇Git,在 Repository 里面,點擊 Branches 按鈕,在彈出的 Git Branches 框里,點擊 New Branch 按鈕。
在這里插入圖片描述

填寫分支名稱,創建 hot-fix 分支。
在這里插入圖片描述

然后再 IDEA 的右下角看到 hot-fix,說明分支創建成功,并且當前已經切換成 hot-fix 分支
在這里插入圖片描述

切換分支

在 IDEA 窗口的右下角,切換到 master 分支。
在這里插入圖片描述

然后在 IDEA 窗口的右下角看到了 master,說明 master 分支切換成功。

在這里插入圖片描述

合并分支

在 IDEA 窗口的右下角,將 hot-fix 分支合并到當前 master 分支。

在這里插入圖片描述

如果代碼沒有沖突,分支直接合并成功,分支合并成功以后,代碼自動提交,無需手動提交本地庫。

解決沖突

如果 master 分支和 hot-fix 分支都修改了同一處代碼,在合并分支的時候就會發生沖突。

(1)點擊 Conflicts 框里的 Merge 按鈕,進行手動合并代碼。

在這里插入圖片描述

(2)手動合并完代碼以后,點擊右下角的 Apply 按鈕。

在這里插入圖片描述

(3)代碼沖突解決,自動提交本地庫。

三、 IDEA集成GitHub

設置GitHub賬號

一、在idea中setting中搜索GitHub,填好用戶名和token,注意用token登錄,現在不支持用戶名和密碼登錄了。
在這里插入圖片描述
二、這個token要從GitHub上獲取

  1. GitHub登錄后在最右邊點擊頭像找到setting:
    在這里插入圖片描述

  2. 進入setting后在最下面左邊可以看到:Devleoper settings
    在這里插入圖片描述

  3. 生成token:找到tokens (classic)
    在這里插入圖片描述
    下拉選擇generate new token (classic)
    在這里插入圖片描述

  4. 填入token對應信息,勾選必要權限:repo + gist + delete_repo

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
5. 復制生成的token
在這里插入圖片描述
三、在idea中填入復制的token
在這里插入圖片描述
在這里插入圖片描述

分享工程到GitHub

分享操作包括:1.新建遠程庫;2.推送當前分支內容到遠程庫

實際工作中,每完成一個小功能,就提交一次,寫清楚注釋,下班前,代碼全部push到遠程倉庫,前提是代碼不要報錯

在這里插入圖片描述
Repository name:遠程倉庫名

Remote:遠程倉庫別名

在這里插入圖片描述
在這里插入圖片描述

push推送本地庫到遠程庫

push前先pull.

右鍵點擊項目,可以將當前分支的內容 push 到 GitHub 的遠程庫中或者點擊VCS下的Git

在這里插入圖片描述
在這里插入圖片描述

注意:push 是將本地庫代碼推送到遠程庫,如果本地庫代碼跟遠程庫代碼版本不一致,push 的操作是會被拒絕的。也就是說,要想 push 成功,一定要保證本地庫的版本要比遠程庫的版本高!因此一個成熟的程序員在動手改本地代碼之前,一定會先檢查下遠程庫跟本地代碼的區別!如果本地的代碼版本已經落后,切記要先 pull 拉取一下遠程庫的代碼,將本地代碼更新到最新以后,然后再修改,提交,推送!所以push前先pull.

pull拉取遠程庫到本地庫

右鍵點擊項目,可以將遠程倉庫的內容 pull 到本地倉庫。

在這里插入圖片描述
在這里插入圖片描述

注意:pull 是拉取遠端倉庫代碼到本地,如果遠程庫代碼和本地庫代碼不一致,會自動合并,如果自動合并失敗,還會涉及到手動解決沖突的問題。

clone克隆遠程庫到本地

在這里插入圖片描述
在這里插入圖片描述

為 clone 下來的項目創建一個工程,然后點擊 Next。

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

從Github登錄的雙因子驗證到基于時間戳的一次性密碼:2FA、OTP與TOTP

Github于2023-03-09推出一項提高軟件安全標準的措施,所有在Github上貢獻過代碼的開發人員在年底前必須完成 2FA(Two-factory authentication,雙因子認證)。初聽此事之時,不以為意,因為自己之前就知道雙因子…

關于2023年的裸辭對話

2023: 為什么要裸辭? 小蘇:因為我瘋了 2023:裸辭后悔嗎? 小蘇: 如果很快找到工作就不后悔,但是今年沒有工作,后悔裸,不后悔辭。 2023:關于市場環境的敏感度&#xff…

操作系統(三)| 進程管理下 經典進程問題分析 線程 死鎖

文章目錄 6.經典進程同步問題6.1 生產者-消費者問題 (既有同步又有互斥)6.2 讀者-寫者問題6.3 哲學家進餐問題6.4理發師問題 7. 進程之間通信7.1 共享存儲區7.2 消息傳遞7.3 管道 8.線程8.1 線程的實現機制 9 進程調度9.1 調度方式9.2 常見算法先來先服務 FCFS短進程優先 SPN最…

C++之常用的排序算法

C之常用的排序算法 sort #include<iostream> using namespace std; #include<vector> #include<algorithm> #include<functional> void Myptint(int val) {cout << val << " "; }void test() {vector<int> v;v.push_back(…

打破應用孤島,低代碼平臺效力幾何?

關于低代碼開發平臺&#xff0c;爭論有很多。有人認為它是第四代編程語言&#xff0c;有人認為它是開發模式的顛覆&#xff0c;有人認為它是企業管理模式的變革&#xff0c;也有人認為它空有其表。 不過&#xff0c;至少在目前看來&#xff0c;低代碼無疑是火爆的&#xff0c;…

整理MLAI學習路徑圖

干貨分享&#xff1a; 下面給出一個筆者自己整理的GitHub倉庫&#xff1a;https://github.com/isLinXu/awesome-road-map&#xff0c;里面包含了一些可供參考的學習路徑和思維導圖&#xff0c;并整理微軟、meta、谷歌、Kaggle以及華為、百度、阿里、騰訊、訊飛等相關的學習資源…

一文搞懂什么是 GNU/Linux 操作系統

Author&#xff1a;rab 目錄 前言一、UNIX二、Linux三、GNU 前言 你是否經常看見或聽說過這么一句話&#xff1a;這是一個類 Unix 的 GNU/Linux 操作系統&#xff0c;你是怎么理解這句話的呢&#xff1f;想要搞懂這句話的含義&#xff0c;你需要了解以下三點基本常識。 一、U…

linux ld 鏈接器學習筆記

ld鏈接器筆記 1. 首先編寫一段匯編代碼 這里的匯編語法時 AT&T語法,是gcc原生支持的語法,底層使用 gas(gnu assembler) 完成匯編,相較于 Intel x86語法, AT&T 語法要更加古老,因此大多數人更加偏向于使用 Intel 的語法. nasm 編譯器支持x86語法.自從2.10版本&#xf…

MySQL 事務的底層原理和 MVCC(二)

7.2. undo 日志 7.2.1. 事務回滾的需求 我們說過事務需要保證原子性&#xff0c;也就是事務中的操作要么全部完成&#xff0c;要么什么也不做。但是偏偏有時候事務執行到一半會出現一些情況&#xff0c;比如&#xff1a; 情況一&#xff1a;事務執行過程中可能遇到各種錯誤&a…

ORB-SLAM3在windows11下的編譯使用

01 寫在前面 近期在學習SLAM&#xff0c;想部署一下ORB-SLAM3&#xff0c;但是自己電腦是win11系統&#xff0c;因此就想著在win11上部署一下。但是網上看了一些教程&#xff0c;有一些博客&#xff0c;但是可能不適合我這種情況把&#xff0c;就很糾結。先說下結果&#xff0…

【python基礎(三)】操作列表:for循環、正確縮進、切片的使用、元組

文章目錄 一. 遍歷整個列表1. 在for循環中執行更多操作2. 在for循環結束后執行一些操作 二. 避免縮進錯誤三. 創建數值列表1. 使用函數range()2. 使用range()創建數字列表3. 指定步長。4. 對數字列表執行簡單的統計計算5. 列表解析 五. 使用列表的一部分-切片1. 切片2. 遍歷切片…

【并發編程】ThreadLocal詳解與原理

&#x1f4eb;作者簡介&#xff1a;小明Java問道之路&#xff0c;2022年度博客之星全國TOP3&#xff0c;專注于后端、中間件、計算機底層、架構設計演進與穩定性建設優化&#xff0c;文章內容兼具廣度、深度、大廠技術方案&#xff0c;對待技術喜歡推理加驗證&#xff0c;就職于…

【電路筆記】-電流源

電流源 文章目錄 電流源1、概述1.1 理想電流源1.2 實際電流源1.3 連接規則 2、依賴電流2.1 壓控電流源2.2 電流控制電流源 3、總結 本文為前面文章 電壓源的延續&#xff0c;我們將在本文介紹電流源。 與電壓源的情況類似&#xff0c;我們將首先介紹理想電流源的概念&#xff…

MySQL 8.2 Command Line Client打開時一閃而過閃退問題

MySQL8.2安裝成功后&#xff0c;發現打開MySQL 8.0 Command Line Client時出現一閃而過&#xff0c;打不開的情況。 解決方案&#xff1a; 1、打開MySQL 8.2 Command Line Client文件位置 2、右鍵選擇屬性 3、復制它的目標 4、我復制下來的目標路徑是這樣的&#xff0c;"…

關于 Docker

關于 Docker 1. 術語Docker Enginedockerd&#xff08;Docker daemon&#xff09;containerdOCI (Open Container Initiative)runcDocker shimCRI (Container Runtime Interface)CRI-O 2. 容器啟動過程在 Linux 中的實現daemon 的作用 Docker 是個劃時代的開源項目&#xff0c;…

[計算機網絡實驗]頭歌 實驗二 以太網幀、IP報文分析(含部分分析)

目錄 第1關&#xff1a;Wireshark基本使用入門 【實驗目的】 【實驗環境】 【本地主機、平臺虛擬機之間數據傳遞】 wireshark基本用法】 1、wireshark主界面 2、抓取分組操作 3、Wireshark窗口功能 4、篩選分組操作 【實驗操作】 ?編輯 第2關&#xff1a;Ethernet幀…

編程語言發展史:C++語言的發展和應用

預計更新 第一部分&#xff1a;早期編程語言 1.1布爾代數和機器語言 1.2匯編語言的出現和發展 1.3高級語言的興起 第二部分&#xff1a;主流編程語言 1.1 C語言的誕生及其影響 1.2 C語言的發展和應用 1.3 Java語言的出現和發展 1.4 Python語言的興起和特點 1.5 JavaScript語言…

基于Towers of Binary Fields的succinct arguments

1. 引言 Ulvetanna團隊Benjamin E. Diamond和Jim Posen 2023年論文《Succinct Arguments over Towers of Binary Fields》&#xff0c;開源代碼見&#xff1a; https://github.com/recmo/binius&#xff08;Rust Sage&#xff09;【基于plonky3等庫】 在該論文中&#xff1…

Apache POI簡介

三十二、Apache POI 32.1 介紹 Apache POI 是一個處理Miscrosoft Office各種文件格式的開源項目。簡單來說就是&#xff0c;我們可以使用POI在Java程序中對Miscrosoft Office各種文件進行讀寫操作。 一般情況下&#xff0c;POI都是用于操作Excel文件。 Apache POI 的應用場…

基于區域劃分的GaN HEMT 準物理大信號模型

GaN HEMT器件的大信號等效電路模型分為經驗基模型和物理基模型。經驗基模型具有較高精度但參數提取困難&#xff0c;特別在GaN HEMT器件工藝不穩定的情況下不易應用。相比之下&#xff0c;物理基模型從器件工作機理出發&#xff0c;參數提取相對方便&#xff0c;且更容易更新和…