三十分钟轻松玩转Git——学会Git就靠这一篇(ง •_•)ง

article/2025/6/19 1:44:50

文章目录

  • Git入门教程
    • Git简介
      • 🙋‍♀️Git是什么?
      • 🙋‍♀️GitHub与码云?
      • 🙋‍♀️TortoiseGit是什么?
      • 🙋‍♀️图形化客户端?
    • 安装Git
    • 初始化Git
      • 📍1.配置用户信息
      • 📍2.检查配置信息
      • 📍3.获取帮助
      • 📍4.初始化本地仓库
    • 建立第一个本地仓库🏡
    • Git基本原理
      • 📥Git的工作流程
      • 🙋‍♂️工作区、暂存区、版本库、仓库有什么区别?
    • Git基础命令
          • 🏅1.查看当前状态
          • 🏅2.查看历史操作记录
          • 🏅3.版本回退
          • 🏅4.版本对比
          • 🏅5.删除文件与误删文件恢复
          • 🏅6.重命名文件
          • 🏅7.忽略文件
    • Git进阶—分支🍋
      • 😏分支是什么?
      • 😎与分支有关的命令
          • 🥇1.创建分支、切换分支
          • 🥇2.合并分支
          • 🥇3.合并冲突
          • 🥇4.删除分支
          • 🥇5.变基(合并提交)
    • 使用GitKraken助你更高效📈
      • B站视频—奇乐编程学院 使用图形化界面操作Git
      • B站视频—奇乐编程学院 Git+GitHub入门(进阶)
    • 多人协作开发—码云(Gitee)初体验🤺
      • 👩🏻‍🏫多人协作流程
      • 🙇🏻‍♀️创建第一个远程仓库(remote repo)
      • 👩🏻‍🔧参与到其他人的开发
      • 🙋🏻‍♂️🤝🏻👨🏻‍💼跨团队开发—Fork仓库
    • 使用SSH协议免密登录Gitee
    • 在IDEA中使用Git
  • 总结👏🏻👏🏻👏🏻


Git入门教程

✨✨学会Git就靠这一篇!🎉🎉

👀这是我第一次写如此长篇的文章,优秀的文章离不开读者的支持~
👩🏻如果有存在问题的地方欢迎大家在评论区留言,我会第一时间改正~

Git简介

Git

🙋‍♀️Git是什么?

Git是一个分布式版本控制工具。

版本控制:在开发时功能需求是随时变化的,比如我们写了一个购物车退货的功能,甲方突然表示这个功能不需要了,这时有了版本控制工具就可以直接回到之前的某个版本,不需要一行一行来修改代码。

分布式:同一个项目由很多个人编写,但是张三在北京,李四在上海,王五在杭州,有了Git就可以帮助我们合并不同人写的代码,我们在任何地方都可以控制代码的版本。

🙋‍♀️GitHub与码云?

GitHub码云都是代码托管平台。

使用Git可以将代码放在本地仓库,也可以将代码放在远程仓库,GitHub就是我们存放代码的远程仓库。

GitHub因为只支持git作为唯一的版本库格式进行托管,故名GitHub。简单来说,GitHub是一个代码托管云服务网站,帮助开发者存储和管理其项目源代码,且能够追踪、记录并控制用户对其代码的修改。甚至你可以简单粗暴的把它当作一个网盘,用来存储任何东西。

码云可以看作是中文版的GitHub,由开源中国出品。

🙋‍♀️TortoiseGit是什么?

TortoiseGit的图标是一个小乌龟,是Git版本控制客户端,几乎是人尽皆知的Git图形化管理工具。如果仅仅安装了Git,我们只能用命令行来操作Git,在安装了客户端以后就可以借助图形界面使用鼠标点点点来操作Git了。

🙋‍♀️图形化客户端?

除了ToroiseGit,还有很多图形化管理工具,作为入门推荐的是一个叫做GitKraken的图形化客户端,界面漂亮,功能也很全面,对个人完全免费~

🚀GitKraken官网:https://www.gitkraken.com/

GitKraken


安装Git

📌支持平台:

  • macOS
  • Windows
  • Linux/Unix

📌Git下载:

🚀Git官网:(https://git-scm.com/
🚀腾讯软件中心下载:(https://pc.qq.com/search.html#!keyword=git)

📌软件安装:

Git的安装非常简单,全部点击“下一步”就可以了( $ _ $ )

建议安装到默认目录,很多第三方软件调用Git时会去默认安装目录寻找,这样就免去了手动配置的麻烦。

安装完成后鼠标右键会看到Git GUI HereGit Bash Here

Git安装


初始化Git

打开资源管理器,进入一个项目文件夹,鼠标右键,点击Git Bash Here,打开Bash命令行工具。

Bash

📍1.配置用户信息

安装完Git之后,第一件要做的事就是设置用户名名和邮箱。每一个Git提交都会使用这些信息来区分是谁提交的代码,它们会写入到每一次提交中,不可更改:

$ git config --global user.name "student_Max"
$ git config --global user.email "706694938@qq.com"

如果使用了--global可选项,所有的Git提交都会使用这些信息。如果要针对特定的项目使用不同的用户名和邮件地址,可以在特定项目的文件夹下运行没有--global的命令配置。

使用第三方GUI工具会在第一次运行时帮助你配置这些信息。

📍2.检查配置信息

列出所有Git可以找到的配置:

$ git config --list

Git配置

📍3.获取帮助

有三种方法查看Git命令的综合手册:

$ git help <verb>
$ git <verb> --help

获取后一类指令的使用帮助(比如config命令的使用手册):

$ git help config

输入后会弹出一个网页~

Git Help

📍4.初始化本地仓库

将当前的文件夹作为我们的本地仓库:

$ git init

初始化以后会在文件夹中会多出一个隐藏文件夹.git

Init


建立第一个本地仓库🏡

先创建Git-Study文件夹作为我们的本地代码仓库,在此文件夹中按鼠标右键,打开Git Bash

  • 初始化仓库

    $ git init
    
  • 添加一个文件Hello.c,在bash中的命令与Linxu系统的命令是一样的,我们先直接通过命令行来创建一个.c文件。

    $ touch Hello.c
    $ echo helloworld > Hello.c
    
  • 提交至缓存区

    $ git add Hello.c
    
  • 提交至本地仓库,引号中填写版本的名字,这里叫做first

    $ git commit -m 'first'
    

    Hello.c


Git基本原理

Git有三种状态,你的文件可能会处于其中之一:已提交(committed)已修改(modified)已暂存(staged)

  • Modified:修改了文件,但是还没保存到Git数据库中。
  • Staged:对已经修改的文件的当前版本做了标记,使之包含在下次提交的快照中。
  • Commited:数据已经安全地保存在了Git数据库。

这样我们的Git项目会拥有三个阶段工作区暂存区Git目录(仓库)

Git原理

  • 工作区是某个版本提取出来的内容。从Git仓库的压缩数据库中提取出来的文件,放在磁盘上供使用或修改。
  • 暂存区是一个文件,保存下次将要提交的文件列表信息。
  • Git仓库目录是Git用来保存项目的元数据和对象数据库的地方。

📥Git的工作流程

  1. 在工作区修改文件。
  2. 将下次要提交的更改选择性的保存起来,只会将更改的部分添加到暂存区。
  3. 提交更新,找到暂存区的文件,将快照永久性存储到Git目录。

🙋‍♂️工作区、暂存区、版本库、仓库有什么区别?

  • 在某个文件夹下使用$ git init命令后,这个文件夹一般就叫做本地仓库,在仓库中管理我们项目的各个版本。工作区,暂存区,版本库都在这个文件夹中,或者说都在仓库中,由它们共同组成了我们的本地仓库。

  • 工作区就是在电脑里能看到的目录。
    work

  • 缓存区在.git隐藏目录中的index文件,所以缓存区有时也叫做索引。

index

  • 仓库里的.git隐藏文件夹就是版本库,存放着已经commit的不同版本。

    repo

图片来源:CSDN博主vonphp:GIT(三)— 工作区、暂存区和版本库(仓库)-(重点)


Git基础命令

🏅1.查看当前状态

查看当前状态来了解那些文件是新添加的,哪些文件已经加入了暂存区。

$ git status

先在Hello.c文件的末尾添加新的内容,此时在来查看当前的状态。在Bash中可以看到Hello.c显示为红色,告诉我们该文件处于已修改的状态,还没有放到暂存区

status

添加文件至暂存区,再查看状态。

$ git add Hello.c

status

这时会提示我们修改的文件可以提交。执行提交命令,再查看状态。

$ git commit -m 'second'

status

补充:如何将工作区的所有文件一次性添加到缓存区?

.表示所有文件。

$ git add .
🏅2.查看历史操作记录

查看历史操作记录:

$ git log

结果中:
head代表当前所处的分支,master代表当前是master分支。

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$ git log
commit 0172966fe45459e5d1a7e4ced996990758a22cc1 (HEAD -> master)
Author: student_Max <706694938@qq.com>
Date:   Sat Jan 22 18:22:57 2022 +0800secondcommit 4ca483bcafeac527a9849cc08d04c41e7b635668
Author: student_Max <706694938@qq.com>
Date:   Sat Jan 22 16:30:04 2022 +0800firstMymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$
🏅3.版本回退

head指针指向当前正在编辑的版本,head后加一个~表示回退一个版本。

$ git reset head~

回退多个版本:

$ git reset head~~
$ git reset head~10

可选参数:

  • --hard:回退版本库,暂存区,工作区,不只移动head指针,还会将暂存区的文件还原到工作目录。(修改过的代码会删除,要谨慎使用)
  • --mixed:默认参数,回退版本库,暂存区。
  • --soft:回退版本库。(只移动head指针,相当于撤销上一次的提交)

不仅可以往回滚,还可以往前滚。

查看所有的历史提交(包括回退的):

$ git reflog

Git记录了每一次操作的版本ID号。

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$ git reflog
0172966 (HEAD -> master) HEAD@{0}: commit: second
4ca483b HEAD@{1}: commit (initial): first

使用ID号往前滚:

$ git reset --hard 0172966
🏅4.版本对比

对比版本之间有哪些不同。

比较工作区和暂存区:

$ git diff

先在文件中添加新内容,进行比较:

git diff

比较最新提交:

$ git diff head

比较两个历史快照:

$ git diff 0172966 4ca483b

比较某一仓库版本和暂存区:

$ git diff --cache 0172966
🏅5.删除文件与误删文件恢复

如果不小心删除了Hello.c,还可以从暂存区中拉回:
(手动删除只会影响工作区)

$ git checkout -- Hello.c

删除文件:

$ git rm Hello.c

rm命令只是删除工作区和暂存区的文件(取消跟踪),再次commit,版本库中也会删除。

$ git commit -m 'del'
🏅6.重命名文件

直接在文件夹里重命名会出错。
比如把Hello.c改为abc.c

重命名

Git会认为我们删除了Hello.c并且新创建了abc.c文件。
正确的姿势应该是git mv 旧文件名 新文件名

$ git mv Hello.c abc.c
🏅7.忽略文件

在项目中有一些文件是不需要进行版本管理的,比如IDEA项目会有很多配置文件,我们只需要管理源代码,忽略其中的配置文件。

比如工作目录中有temp.txt文件,我们想将其忽略,此时可以:

  1. 创建名为.gitignore的文件(之前版本的Windows不能手动创建,只能通过命令解决)

    $ touch .gitignore
    
  2. 在文件中添加要忽略的文件

     $ echo *.tex >> .gitignore
    

    星号*是通配符,表示忽略所有以.txt结尾的文件。

    gitignore

  3. 如果要忽略这个文件本身,可以:

    $ echo .gitignore >> .gitignore
    

    一般不忽略它本身,因为从远程仓库下载的代码还要用到它。


Git进阶—分支🍋

在Git的简介中我们知道Git是一个分布式版本控制工具(VCS-Version Control System),前面的基础命令主要介绍了版本管理相关的命令,接下来让我们来进一步了解Git的分布式特点中常用到的概念—分支

分支

😏分支是什么?

假如我们的项目上线了,过了一段时间有了新的需求,为了保险起见,这时候肯定不能直接在当前项目上进行开发,所以就有必要引入分支的概念了。

分支

在Git中用Master代表主线(主分支),也就是我们项目的正式版本,当需要添加新的功能或者有其他人想修改我们的代码时,只需要从主线版本中将代码拷贝到其他地方,形成一个分支,在这个分支上进行开发。如果分支开发的功能想要上线,也可以将分支代码与主线合并,同时这也使多人协同开发成为可能。

如果张三想要开发新的功能,李四也想开发一个新的功能,他们不需要在项目的正式版本中进行修改,而是在分支上进行独立的开发,确保代码没有问题后再与主线合并,避免了正式版本可能会出现错误的问题。

Git中每一个结点都是一个完整的项目,所以只需要多创建一个“指针”指向分支开始的位置即可。

😎与分支有关的命令

🥇1.创建分支、切换分支

创建一个新的分支,分支一般命名为feature-功能,比如:

$ git branch feature-login

查看当前状态。

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$ git status
On branch master
Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   Hello.cnew file:   temp1.txtUntracked files:(use "git add <file>..." to include in what will be committed).gitignoreMymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$

On branch master表明我们目前在主线(Master)上,要切换分支,可以:

$ git checkout feature-login

再看我们的状态:

branch

On branch feature-login说明现在分支已经从主线切换到了feature-loginhead指针也会指向我们的feature-login分支head永远指向当前操作的版本)。

🥇2.合并分支

首先在feature-login分支中创建文件branch.txt

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (feature-login)
$ touch branch.txtMymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (feature-login)
$ echo aaa > branch.txtMymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (feature-login)
$ git add .
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in branch.txt.
The file will have its original line endings in your working directoryMymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (feature-login)
$ git commit -m 'br-first'
[feature-login 7c9ca12] br-first4 files changed, 3 insertions(+), 1 deletion(-)create mode 100644 .gitignorecreate mode 100644 branch.txtcreate mode 100644 temp1.txtMymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (feature-login)
$ git status
On branch feature-login
nothing to commit, working tree clean

在文件夹中可以看到新创建的文件。

branch

如果要合并到主分支,首先切换回主分支:

$ git checkout master

在这里插入图片描述

选择分支合并:

$ git merge feature-login

merge

🥇3.合并冲突

当在版本3处创建了两个分支,并且这两个分支都对a.txt文件的同一处进行了修改,此时合并分支1再合并分支2会发生冲突

由于修改的是文件同一处,因此Git无法判断到底要合并哪一个版本,Git会把两个分支的修改都添加进文件中,并且提示我们需要手动进行修改

冲突

📑解决冲突(Conflict):

比如我们先创建两个分支b1、b2,b1在branch.txt中添加123,b2在branch.txt中添加456,切换到主分支依次进行合并。

合并b1:

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$ git merge b1
Updating 7c9ca12..65413f9
Fast-forwardbranch.txt | 2 +-1 file changed, 1 insertion(+), 1 deletion(-)

合并b2,提示发生冲突:

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/Git-Study (master)
$ git merge b2
Auto-merging branch.txt
CONFLICT (content): Merge conflict in branch.txt
Automatic merge failed; fix conflicts and then commit the result.

打开branch.txt,可以看到Git将冲突的内容都进行了保留,需要我们手动调整。

解决

手动修改完成后,再进行提交:

$ git add .
$ git commit -m 'xxx'
🥇4.删除分支

分支已经成功合并到主分支(Master)中,或者分支已经不需要的时候,可以使用git branch -d 分支名将其删除。

删除b1分支:

$ git branch -d b1

del

🥇5.变基(合并提交)

在一个分支上经常会有很多此提交,使用 变基(rebase) 可以将多次 提交(commit) 合并为一个,让我们的版本管理更加简洁。

合并head所指向的提交以及它的前一次提交:

$ git rebase -i head~~

简书:mwangjs——git变基
https://www.jianshu.com/p/df49b3671757


使用GitKraken助你更高效📈

GitHub是国际上最大的代码托管平台,经常被网友戏称为”GayHub“——全球最大同性交友网站。~( ̄▽ ̄)~*

GitKraken是Git的图形管理工具,它的界面非常漂亮,文章开头已经介绍过了。

关于如何使用GitKraken来执行Git的各种操作,以及如何在GitHub上托管自己的代码,这里推荐B站 奇乐编程学院 的两个视频,讲解简单明了,同时带你快速浏览Git的使用流程。

视频主要介绍了图形化工具的使用,本文主要介绍Git命令行,图形化工具在实际使用中也十分重要,搭配食用更佳哦。

B站视频—奇乐编程学院 使用图形化界面操作Git

Git + GitHub 10分钟完全入门

B站视频—奇乐编程学院 Git+GitHub入门(进阶)

Git + GitHub 10分钟完全入门 (进阶)


多人协作开发—码云(Gitee)初体验🤺

Gitee可以看作是GitHub的中文版,两者学会了其中一个,另一个自然也就会了。

Gitee

Gitee是开源中国(OSChina)推出的基于Git的代码托管服务:

push

👩🏻‍🏫多人协作流程

由项目的发起人(组长)在Gitee中创建代码仓库,一般会创建两个分支:masterdevelop。仓库中的master主分支一般由组长进行管理,防止其他人将错误的代码提交到master主分支develop分支开放给其他人,允许其他人将代码提交至远程仓库,最终由组长管理其他人的提交并将develop分支合并到主分支

其他人想要参与项目的开发,可以将远程仓库 克隆(clone) 到本地,在本地进行独立的版本管理。建议先切换到develop分支,再创建新的分支进行新功能的开发,功能开发完后合并develop分支,确认无误后 推送(push) 至远程仓库的develop分支

多人协作流程

🙇🏻‍♀️创建第一个远程仓库(remote repo)

创建码云(Gitee)账号,进入Gitee主页。

Gitee

点击主页右上角的加号”+“,选择新建仓库

填写仓库的基本信息,点击创建仓库

新建仓库

根据提示创建git仓库并推送到gitee

进入仓库目录,打开gitbash,按照提示输入命令。

gitee

配置用户名和邮箱:

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/git-study (master)
$ git config --global user.name "xxx"Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/git-study (master)
$ git config --global user.email "xxx@163.com"

如果没有仓库根据提示创建新的仓库同时创建readme.md描述文件,如果已经创建好了仓库直接执行下面的命令。

将我们创建的仓库添加至gitee
push -u表示git会记录用户名和密码,只需在创建仓库时输入一次就可以了。

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/git-study (master)
$ git remote add origin https://gitee.com/......Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/git-study (master)
$ git push -u origin "master"

弹出窗口,输入gitee用户名与密码。

login

注意输入的是Gitee的用户名,不是姓名~

输入完成后我们创建的本地仓库会添加到Gitee中。

Mymel@DESKTOP-4QL2F94 MINGW64 ~/Documents/git-study (master)
$ git push -u origin "master"
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 448 bytes | 448.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To https://gitee.com/guo-hanzhe/gitee-study.git* [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

gitee

👩🏻‍🔧参与到其他人的开发

参与其他人的开发我们可以将Gitee上的仓库克隆到本地。

$ git clone https://gitee.com/.......(仓库地址)

仓库分为公有私有两种,私有仓库只有在Gitee被邀请的人才能访问。

在本地开发进行新功能的开发,开发完后推送Gitee远程仓库

切换至develop分支,并在此基础上创建新的分支feature-new

$ git checkout develop
$ git branch feature-new

施工ing...

先合并到本地的develop分支。

$ git checkout develop
$ git merge feature-new

Master分支一般是不允许其他人随便推送的,我们一般是推送至develop分支。

此时已经在develop分支上,直接推送就可以。

$ git push

👉🏻多人协作时的冲突

这一点类似于前文中提到的合并冲突。当在我们编写本地仓库中的代码时,如果其他人在这个时候向Gitee远程仓库进行了推送,那么我们的代码就和远程仓库中的不一致了,直接推送会提示错误,这时需要我们 拉取(pull) 远程仓库中的代码,在本地解决冲突以后再来推送。

冲突

拉取(pull) 可以看作是push的逆向过程,push是将代码推送至远程仓库,pull是将远程仓库的代码合并到本地,并且如果有冲突时需要我们手动解决。

推送前先pull一下:

$ git pull

解决冲突ing

$ git push

🙋🏻‍♂️🤝🏻👨🏻‍💼跨团队开发—Fork仓库

在Gitee中有一些仓库不希望其他人随意修改的。比如小明把仓库的所有分支权限都改为了受保护,我们没办法直接将我们的代码推送给他,这时可以在Gitee中Fork他的仓库,这会将他的远程仓库复制一份到我们的Gitee账户下。

如果团队中有很多人共同参与进项目开发,只需要组长将小明的仓库Fork到自己的账户下,小组的成员们只需要克隆组长的仓库就可以了。

fork

如果你觉得小明会采纳你对代码的修改,你还可以向他发送一个pull request,如果小明觉得你的代码对他有帮助,他会接受pull request,并将你的修改同步到他自己的仓库。

pull request

Gitee中还提供了Issue功能,组长可以创建一个Issue用来追踪bug,指派任务,创建完后,所有组员都会接收到一个组长发布Issue的通知。

issue


使用SSH协议免密登录Gitee

Git关联远程仓库可以使用http协议或者ssh协议。

  • SSH协议:

    依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

  • HTTPS协议:

    相比SSH协议,可以使用用户名/密码授权是一个很大的优势,这样用户就不用在使用 Git之前先在本地生产SSH密钥对,再把公钥上传到服务器。对非资深的使用者,或者系统上缺少SSH相关程序的使用者,HTTP协议的可用性是主要的优势。与SSH协议类似,HTTP协议也非常快和高效。

ssh

Gitee提供了基于SSH协议的Git服务器,在使用SSH协议访问仓库之前,需要先配置好账号/仓库的SSH公钥。

打开Git bash,使用以下命令生成sshkey:

$ ssh-keygen -t rsa -C "邮箱地址"
  • 注意:填入的邮箱只是生成sshkey的名称,并不要求具体命名为某个邮箱,仅仅是为了辨识。

依据提示敲三次回车Enter,生成sshkey。

生成sshkey后,可以在Home目录~/.ssh/id_rsa.pub中查看你的公钥public key

id_rsa

复制id_rsa.pub中的内容。

打开Gitee的设置页面,将公钥复制进去。

ssh-key

点击确定,配置好SSH以后下次再 克隆(Clone) Gitee上的仓库就不需要再输入用户名和密码了。


在IDEA中使用Git

拉取Gitee中的项目到IDEA中:

打开IDEA,创建项目时选择Get from VCS,在URL中输入仓库地址。

idea

如果使用Https协议,需要输入用户名和密码:

gitee登录

点击左下角的git,可以打开图形化工具:

git

对代码进行修改后,如果需要提交或者推送等操作,可以右键我们的项目目录,在下拉菜单中选择Git,里面包含了Git的各种操作。

git

文件名的三种颜色:

  • 黑 色 \color{black}{黑色} ——表示文件已经提交。
  • 绿 色 \color{green}{绿色} 绿——表示文件已经存入暂存区,但是还没提交。
  • 红 色 \color{red}{红色} ——表示文件已经修改。

此外IDEA中可以安装Gitee插件,实现自动登录等功能。


总结👏🏻👏🏻👏🏻

  • ✨创建本地仓库的三步:

    1. 初始化仓库 $ git init
    2. 提交至缓存区 $ git add Hello.c
    3. 提交至(本地)仓库 $ git commit -m 'first'
  • ✨Git的三种状态:

    1. 已修改
    2. 已暂存
    3. 已提交
  • ✨Git常用命令:

    1. 查看当前状态 git status
    2. 查看历史操作记录 git log
    3. 版本回退 git reset head~
    4. 版本对比 git diff
    5. 删除文件 git rm
    6. 重命名 git mv 旧文件名 新文件名
    7. 忽略文件 echo *.tex >> .gitignore
  • ✨版本分支管理:

    1. 创建分支 git branch
    2. 切换分支 git checkout
    3. 合并分支 git merge
    4. 删除分支 git branch -d
    5. 变基 git rebase
  • ✨代码托管平台Gitee、GitHub:

    1. 克隆仓库 git clone 远程仓库地址
    2. 推送 git push
    3. 拉取 git pull
  • ✨Git图形化界面工具:GitKrakenTortoiseGit

  • ✨使用SSH协议可以免密登录Gitee。

  • ✨IDEA提供了图形化界面来使用Git。

点赞


http://chatgpt.dhexx.cn/article/8Z1FNaQd.shtml

相关文章

【推荐】git commit 规范和如何在 commit 里使用 emoji

前言 大家好&#xff0c;我是桃翁&#xff0c;今天给大家带来的是关于 git commit 那些事儿&#xff0c;希望大家喜欢。 对于规范 git commit message 我是分成了两种类型去看待。 对于通用库、开源项目这类多人维护&#xff0c;而且极大可能别人会来看这份代码的&#xff0c…

从git记录中删除大文件

大家一定遇到过在使用Git时&#xff0c;不小心将一个很大的文件添加到库中&#xff0c;即使删除&#xff0c;记录中还是保存了这个文件。以后不管是拷贝&#xff0c;还是push/pull都比较麻烦。今天将工程上传到github时&#xff0c;发现最大只能上传100MB大小文件&#xff0c;在…

git基本操作(入门级)

写在前面&#xff1a;初次接触git&#xff0c;便想到之前工作&#xff0c;下载跨平台通信库ACL的源代码时的gitHub&#xff0c;于是便借助互联网弄清楚了它们的区别&#xff08;不过仅供参考&#xff09;。 关于Git和github区别的参考地址&#xff1a;http://blog.csdn.net/qq_…

一篇文章,让你彻底学会Git

文章目录 1. 版本控制1.1 常见的版本控制工具1.2 版本控制分类1.3 Git与SVN的主要区别 2. Git介绍1.1 Git 功能特点1.2 Git 和 GitHub 的区别 2. Git 环境配置2.1 软件下载2.2 启动Git2.3 Git配置2.3.1 设置用户名与邮箱 3.Git基本理论3.1 三个区域3.2 工作流程 4. Git 项目搭建…

Git-如何写好一条提交信息

Git-如何写好一条提交信息 本文为翻译文章 原文&#xff1a; How to Write a Git Commit Message 作者&#xff1a; cbeams 1.为什么好的提交信息很重要 如果你曾经打开过任意一个Git仓库的提交历史&#xff0c;你可能会发现它们的提交信息多多少少会有些混乱。 请比较下面两个…

GIT的相关内容

概述 git是一个版本管理工具,它是用于管理对应的代码的版本的。它是一个集中式的代码管理工具(支持分布式)。相同的软件还有svn(集中式版本管理工具,它不具备分布式的功能) svn及git的区别 了解git及svn的区别 Git是分布式的,SVN是集中式的Git复杂概念多,SVN简单易上…

长达万字的git常用指令总结(适合小白及在工作中想要对git基本指令有所了解的人群)建议收藏

本篇文章将对git在工作和学习中需要用到的大部分常用指令作详细解答&#xff0c; 觉得有用的C友们可以点个赞支持一下&#xff0c;你们的支持就是我最大的动力~ 本文总结自廖雪峰老师的文档 欢迎大家关注我的公众号&#xff1a;Smooth前端成长记录 公众号同步更新CSDN博客内容…

Git入门到实战

一、Git 基础 1、什么是Git Git是一个分布式版本控制系统。 版本控制系统是一种用于记录一个或多个文件内容变化&#xff0c;方便我们查阅特定版本修订情况的系统。 示例&#xff1a; 以前在没有使用版本控制的时候&#xff0c;我们通常在我们的项目根目录下这样命名项目&am…

git操作笔记

查询git命令 $ git --help 概述 Git是开源的分布式版本控制系统&#xff0c;git可以有效、高速地处理从很小到非常大的项目版本管理。 git 瘦身 解决 .git文件夹过大的问题&#xff0c; .git文件主要用来记录每次提交的变动&#xff0c;当我们的项目越来越大的时候&#xff0…

Git相关使用

私人博客 许小墨のBlog —— 菜鸡博客直通车 系列文章完整版&#xff0c;配图更多&#xff0c;CSDN博文图片需要手动上传&#xff0c;因此文章配图较少&#xff0c;看不懂的可以去菜鸡博客参考一下配图&#xff01; 系列文章目录 前端系列文章——传送门 后端系列文章——传送…

cmd命令安装python第三方库_Python如何安装第三方库

Python如何安装第三方库 [版权申明] 非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/cdpxc/article/details/108808780 出自:cdpxc 注:笔者是在D盘直接安装了Anaconda (https://www.anaconda.com/)并非直接安装的Python (https://www.python.org/downloads/)…

基于区块链的数字版权保护介绍

一、数字版权定义&#xff1a; 各类出版物、信息资料的网络出版权&#xff0c;可以通过新兴的数字媒体传播内容的权利。包括制作和发行各类电子书、电子杂志、手机出版物等的版权。 各国家对于数字版权作品的定义不一。以中国为例&#xff0c;主要数字版权作品包括以电子图书、…

2018年博客之星,需要您宝贵的一票!

很荣幸入选了CSDN博客之星候选&#xff0c;既然入选了&#xff0c;那么我还是想全力以赴&#xff01;虽然比不上其他大佬那么优秀&#xff0c;但还是希望大家多多支持&#xff01; 请投 003 号&#xff1a;LovelyBear2019 一票 投票地址 https://bss.csdn.net/m/topic/blog_…

方波中的毛刺

在FPGA设计中&#xff0c;经常要对外部输入的信号捕捉上升沿。 在某些设计中&#xff0c;外部输入信号为方波信号&#xff0c;由比较器输出。 如上图&#xff0c;比较器输出方波后&#xff0c;电路设计欠佳&#xff0c;产生抖动&#xff0c;下降沿产生毛刺&#xff0c;如果FPG…

html版权登记怎么打,版权符号怎么输入_Html版权符号怎么打

版权符号怎么输入 版权符号©的4种输入方法 版权符号©有很多种方法可以实现,如下: ??1、按住Alt键不放,然后输入169。松开Alt键后,就可以打出©号来,此法只适合于Win2000或Win2000以上的版本。(特别注意:输入的这些数字必须使用键盘右边的那些数字键才有效…

面试官让我聊聊jmeter性能全流程测试,我忍不住哭了

做性能测试的步骤 1、服务器性能监控 首先要在对应服务器上面安装性能监控工具&#xff0c;比如linux系统下的服务器&#xff0c;可以选择nmon或者其他的监控工具&#xff0c;然后在jmeter模拟场景跑脚本的时候&#xff0c;同时启动监控工具&#xff0c;这样就可以获得jmeter…

JMeter压测常见面试问题

1、JMeter可以模拟哪些类型的负载&#xff1f; JMeter可以模拟各种类型的负载&#xff0c;包括但不限于Web应用程序、API、数据库、FTP、SMTP、JMS、SOAP / RESTful Web服务等。这使得JMeter成为一个功能强大且灵活的压力测试工具。 2、如何配置JMeter来进行分布式压力测试&a…

首网推荐!自动化测试——频次最高的23道jmeter面试题及答案!

全B站仅此一家&#xff01;Jmeter接口测试&#xff0c;学到就是赚到&#xff01; 1、解释什么是JMeter&#xff1f; JMeter是一款Java开源工具&#xff0c;用于性能负载测试。它旨在分析和衡量Web应用程序和各种服务的性能和负载功能行为。 2、说明JMeter的工作原理&#xff1f…

面试题---jmeter

面试中遇到的问题&#xff1a; 1. 如何使用Jmeter进行并发测试 2. 如何设置并发量为1000 3. 如果http请求每个都不一样&#xff0c;如何配置 4. 如何设置sessionID 一、安装配置 1. 在Terminal中输入命令&#xff1a; ruby -e "$(curl -fsSL https://raw.githubuse…

9月最新Jmeter面试题

1、Jmeter的关联用到了哪些方法去实现 接口的响应结果通常为 html 和 Json 格式的数据&#xff0c;主要会用到正则提取器、Json 提取器、Xpath 器以及边界值提取器&#xff0c;还有 beanshell 来进行数据的提取。 对于 html 这种响应结果我们通常会用正则或者是 Xpath 来进行…