2021最新最全!IntelliJ Idea如何使用使用Git!Git到底是什么!(值得一看)

9 篇文章 1 订阅

前言

在开发的时候,需要合并Git的分支,然后菜菜就兴致勃勃去了,结果!!!菜菜竟然不会了,然后概念也有些模糊了,在查阅了资料过后发现资料有些老旧以及不够集中,耽搁了菜菜摸鱼的时间,太过分了!太过分了!太过分了!
在这里插入图片描述
借此机会,把Git来好好学下,温故而知新,摸鱼一整天!冲冲冲!

一、Git是什么

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
在开发中,Git已成为现在主流的一种代码托管技术(版本管理工具),基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是基于Git来实现的。

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。大家在工作学习中,应该接触过Git、GitLab、Github三个概念名称,来看下他们之间的联系与区别:

名称含义
Git版本控制系统(SVN),是一种工具/命令
GitLIb实现git功能的开发库
GitHub开放的在线代码仓库
GitLab一般是内部的在线代码仓库 ,搭建私服,类似于github 。利用Ruby on Rail开发的开源应用程序,实现一个自托管的Git项目仓库,可以通过web界面进行访问公开的或者私人项目

我们使用Git可以为我们做到以下事情,来节省我们摸鱼时间:

  1. 版本控制,分支管理
  2. 本地仓库与原创仓库提交,拉取,合并,推送
  3. 协同开发,整个团队中所有人都可以访问

二、Git 工作区、暂存区和版本库、远程仓库

工作区Workspace

就是你在电脑里能看到的目录,平时存放项目代码的地方

暂存区Index / Stage

暂存区有时也叫作索引(index),一般存放在 .git 目录下的 index 文件(.git/index)中,事实上它只是一个文件,保存即将提交到文件列表信息

版本库/仓库区 Repository

工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

远程仓库Remote

远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

找到一个图,很形象,可以有助于理解,来源
https://www.runoob.com/git/git-workspace-index-repo.html

三、Git与SVN的区别

由于SVN也比较流行,也时不时的在使用,菜菜在这里就做个两者的区别分析

3.1 存储方式

  1. Git按照元数据的方式将文件的一个版本存入了一个类似与K/V数据库,类似Map<K,V>,将内容存储在Git数据库后,会返回我们一个类似Key的钥匙给我们
  2. SVN是按照文件的方式进行一个存储。

3.2 使用方式

本地把文件推送到远程服务
SVN

commit

Git

add、commit、push

3.3 管理模式

  1. Git是一个分布式的管理系统,本地含有完整的Git仓库,远程仓库有的功能本地Git仓库基本都有
  2. SVN是远程集中式的管理系统,远程仓库挂了就它就挂了

在这里插入图片描述
接下来就不说废话了,直接上我们日常常用功能

四、Git使用

这里示例是使用IntelliJ Idea哈,不深入讲Git Bush哈~

4.1 Git开始、Git 速成

第一步,我们先新建一个文件夹,在文件夹里新建一个文件
第二步,进入文件夹,执行git init,创建新的 git 仓库

git init

第三步,创建一个本地仓库

git clone /path/to/repository   //创建一个本地仓库的克隆版本
git clone username@host:/path/to/repository //远端服务器上的仓库

工作流:
你的本地仓库由 git 维护的三棵“树”组成。
第一个是你的 工作目录,它持有实际文件;
第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;
第三个是 HEAD,它指向你最后一次提交的结果

第四步,添加和提交

git add <filename>
git add *

第五步,提交到了 HEAD

git commit -m "代码提交信息"

第六步, 从HEAD 中提交到远端仓库

git push origin master  //可以把 master 换成你想要推送的任何分支
git remote add origin <server>   //将你的仓库连接到某个远程服务器

在这里插入图片描述
第七步,分支学习

git checkout -b  b1   //创建一个叫做“b1”的分支,并切换过去
git checkout master   //切换回主分支
git branch -d b1    //删除建的b1分支
git push origin <branch> //将分支推送到远端仓库

第八步,更新与合并

git pull  //更新你的本地仓库至最新改动
git merge <branch>  //合并其他分支到你的当前分支,可能出现冲突(需要手动合并这些冲突)
git add <filename>  //改完之后,将它们标记为合并成功
git diff <source_branch> <target_branch> //合并改动之前,预览差异

4.2 环境配置

设置用户信息

git config --global user.name "xxxxx"
git config --global user.email   xxxxxxx@qq.com

查看配置信息

git config --list
git config user.name

4.3 创建仓库

git init newDir     //在本地初始化一个git仓库
git clone <url> [directory]      //clone一个git仓库

4.4 pull与push

git push 使用本地的对应分支来更新对应的远程分支

git push <远程主机名> <本地分支名>:<远程分支名> 
git push origin master

项目-》右键-》Git-》Repository-》Push

git pull 获取并合并其他的厂库,或者本地的其他分支

git pull <远程主机> <远程分支>:<本地分支>
git pull origin master:dev

项目-》右键-》Git-》Repository-》Pull
在这里插入图片描述

4.5 git分支管理

查看分支,前面带*号的就是当前分支

git branch 

* dev
  master

项目-》右键-》Git-》Repository-》branches
在这里插入图片描述
在这里插入图片描述
创建分支

git branch 分支名

项目-》右键-》Git-》Repository-》branches-》New Branch
在这里插入图片描述
在这里插入图片描述
切换当前分支到指定分支

git checkout 分支名

项目-》右键-》Git-》Repository-》branches-》New Branch-》左键选中-》checkout
在这里插入图片描述

创建分支并切换到创建的分支

git checkout  -b 分支名

合并某分支的内容到当前分支

git merge 分支名

删除分支

git branch -d 分支名

在这里插入图片描述
小结;

git branch    //查看分支命令
git branch (branchname)    //创建分支命令
git checkout (branchname)    //切换分支命令
git merge    //合并分支命令
git branch -d (branchname)    //删除分支命令

4.5 本地仓库操作

查看文件状态

git status    //查看文件状态
git status -s  //更加具体的简介

将未跟踪的文件加入暂存区

git add dirUrl
git add .   //把工作时的所有变化提交到暂存区
git add -u   //git add --update的缩写,会将被修改的文件提交到暂存区。add -u 不会提交新文件

commit 命令将暂存区内容添加到本地仓库中

git commit -m [message]
git commit [file1] [file2] ... -m [message] //提交暂存区的指定文件到仓库区
git commit -a     //参数设置修改文件后不需要执行 git add 命令,直接来提交

在这里插入图片描述

五、常用命令速查

命令解释
git clone url克隆远程仓库
git init初始化本地 git 仓库(新建仓库)
git status查看当前版本状态(是否修改)
git diff显示所有未添加至 index 的变更
git diff HEAD查看已缓存的与未缓存的所有改动
git add 将该文件添加到缓存
git commit -m ‘xxx’提交
git commit --amend -m ‘xxx’合并上一次提交(用于反复修改)
git commit -am ‘xxx’将 add 和 commit 合为一步
git remote -v列出远程分支详细信息
git remote show 显示某个分支信息
git remote add 添加一个新的远程仓库
git fetch 获取远程分支,但不更新本地分支,另需 merge
git pull 获取远程分支,并更新本地分支
git push 推送本地更新到远程分支
git push --delete 删除一个远程分支
git push --tags推送本地标签
git merge 合并分支到当前分支,存在两个
git rebase 合并分支到当前分支,存在一个
git rebase --abort回到执行 rebase 之前
git rebase --continue解决矛盾后继续执行 rebase
git mergetool使用 mergetool 解决冲突
git add 使用冲突文件解决冲突
git reset --hard HEAD将当前版本重置为 HEAD(用于 merge 失败)
git reset --hard 将当前版本重置至某一个提交状态(慎用!)
git reset 将当前版本重置至某一个提交状态,代码不变
git reset --merge 重置至某一状态,保留版本库中不同的文件
git reset --keep 重置至某一状态,重置变化的文件,代码改变
git checkout HEAD 丢弃本地更改信息并将其存入特定文件
git revert 撤消提交
git log查看提交历史
git log -p #查看指定文件的提交历史
git blame 以列表方式查看指定文件的提交历史
  • 93
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 113
    评论
IntelliJ IDEA中安装和配置Git的步骤如下: 1. 首先,从Git官网下载Git软件并安装。打开Git Bash,设置全局用户名和邮箱,可以使用以下命令: ``` git config --global user.name "Your Name" git config --global user.email "[email protected]" ``` 2. 打开IntelliJ IDEA,点击顶部菜单栏的"File",选择"Settings"。 3. 在Settings窗口中,选择"Version Control",然后选择"Git"。 4. 在"Path to Git executable"中,选择你安装Git后的git.exe文件的路径。可以通过点击"Test"按钮来测试是否设置成功。 5. 接下来,设置GitHub。在Settings窗口中,选择"Version Control",然后选择"Github"。 6. 在"GitHub Host"中输入github.com,在"Token"中点击"Create API Token"生成一个Token,并输入你在Github中注册的用户名和密码。 7. 点击"Test"按钮来测试是否连接成功。 8. 在IntelliJ IDEA中创建本地仓库,可以通过"VCS"菜单选择"Import into Version Control",然后选择"Create Git Repository..."。 9. 在弹出的对话框中选择项目所在的位置,点击"OK"。 10. 将项目文件添加到暂存区,在项目上右键点击"Git",选择"Add",此时项目文件会变为绿色,表示已经添加到暂存区。 11. 提交项目文件到版本库,在项目上右键点击"Git",选择"Commit Directory"。 12. 在弹出的窗口中输入Commit Message,点击"Commit and Push",此时项目文件会从暂存区真正进入版本库中,项目文件会变为白色。 以上是在IntelliJ IDEA中安装和配置Git的步骤。通过这些步骤,你就可以在IntelliJ IDEA使用Git进行版本控制和管理了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Intellij IDEA下载安装配置GIT详细教程 [超详细]](https://blog.csdn.net/weixin_42188778/article/details/124523898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [IntelliJ IDEA 配置git详细步骤](https://blog.csdn.net/qq_39463175/article/details/125703971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 113
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜bu菜

夏日炎炎 有你超甜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值