【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

 

一:IDEA 集成 Git

1. 环境准备

2. IDEA集成Git基本实操

3. 切换版本

4. 切换分支

5. 合并分支

二:IDEA 集成 GitHub

1. 设置 GitHub 账号

2. 分享工程到 GitHub

3. push 推送本地库到远程库

4. pull 拉取远程库到本地库

5. clone 克隆远程库到本地


一:IDEA 集成 Git

1. 环境准备

(1)为什么要忽略它们?

答:与项目的实际功能无关,不参与服务器上部署运行,例如下面的.idea文件、.iml文件都是IDEA工具自带的文件;把它们忽略掉能够屏蔽 IDEA工具之间的差异!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

 (2)怎么忽略?

创建忽略规则文件: xxxx.ignore(前缀名随便起,建议是 git.ignore),这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用户家目录下

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

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 

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

注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)” !

[user]
	name = zl
	email = zl@qq.com
[credential]
	helper = manager-core
[core] 
    excludesfile = C:/Users/86177/git.ignore

(4)定位 Git 程序

在Version Control(版本控制工具)—-》Git中进行定位!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

2. IDEA集成Git基本实操

(1)初始化本地库

此时创建的这个Maven工程,还没有被git管理在工程的文件夹下没有.git文件;所以我们需要先进行初始化!怎么初始化?

VCS–>Import into Version Control–>Create Git Repository

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

初始化好以后,此时的项目目录下面,就有.git文件,表示被git管理了

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

此时pom.xml文件是红色的,意思就是检测到是未被追踪状态

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

功能栏的VCS也变成了Git

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

(2)添加到暂存区

右键点击项目选择 Git -> Add 将项目添加到暂存区!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

此时pom.xml文件是绿色的,意思就是已经添加到暂存区

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

(3)提交到本地库

右键点击项目选择 Git -> Commit Directory将项目提交到本地库!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

添加提交信息, 相当于我们-m参数提交的信息

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

3. 切换版本

对于我们后续修改了代码,可以不需要再添加到(add)暂存区,因为前面我们都已经追踪过了,可以一步从工作区直接提交到本地仓库!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

点击IDEA左下角的Git,可以查看版本

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

切换到其它的版本

有两个指针表示,绿色的表示当前master分支的指针,黄色的表示当前界面看到的头指针!头指针是指向master的!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

 切回到最初的那个版本

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

4. 切换分支

(1)先创建分支

第一种方式:右击鼠标—》Git—》Branches

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

出现以下界面

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

第二种方式:找到右下角—》左击鼠标

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

(2)切换分支

此时是在hot-fix分支,切换到master分支

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

5. 合并分支

(1)正常合并:只有hot-fix修改

首先在hot-fix分支,增加代码并提交到本地

package com.zl.git;

public class GitTest {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Hello World2");
        System.out.println("Hello World3");
        System.out.println("hot-fix");
    }
}

切换到master分支,进行合并

绿色的表示有两个分区:hot-fix、master,黄色表示头指针,表示指向的是当前的master!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

点击hot-fix,选中Merge把hot-fix合并到master!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

此时的master和hot-fix就合并到同一个分支! 

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

注:如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库。

(2)冲突合并

如果 master 分支和 hot-fixx 分支都修改了代码,在合并分支的时候就会发生冲突!

对于master分支,添加代码并提交

package com.zl.git;

public class GitTest {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Hello World2");
        System.out.println("Hello World3");
        System.out.println("hot-fix");
        System.out.println("master-test"); // 添加的代码
    }
}

对于hot-fix分支,添加代码并提交

package com.zl.git;

public class GitTest {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Hello World2");
        System.out.println("Hello World3");
        System.out.println("hot-fix");
        System.out.println("hot-fix test"); // 添加的代码
    }
}

现在站在 master 分支上合并 hot-fix 分支,就会发生代码冲突

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

点击 Conflicts 框里的 Merge 按钮,进行手动合并代码

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

手动合并完代码以后,点击右下角的 Apply 按钮

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

注:此时master分支是两个分支合并后的结果,而hot-fix分支还是原来的结果!并且代码冲突解决,是自动提交本地库!

二:IDEA 集成 GitHub

首先自检IDEA的Version Control有没有GitHub插件

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

如果没有可以先到插件中去下载

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

1. 设置 GitHub 账号

第一种情况:跳转到浏览器进行验证,网络不好很难登上!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

第二种情况:去 GitHub 账户上设置 token(口令),使用口令进行登录!

注:此口令只会显现一次,刷新就看不到了;但是可以重新再生成!

生成口令的步骤:点击登录头像的图形下标—》选择Settings—》选择最后一行Developer settings—》Personal access tokens,此时有两个选项:

第一种:fine-grained personal access token,即细粒度个人访问令牌。可以对一个仓库设置一个token,还可以设置每一个permission(权限),粒度比较细。

第二种:personal access token (classic),即个人访问令牌(分类化)。

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

成功生成token后

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

 打开IDEA,使用token登录

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

学习环境权限作用域都点上

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

 登录成功界面如下:

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

2. 分享工程到 GitHub

对于老版本的IDEA是VCS—》Import into VersionControl—》Share Project on GitHub

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

对于新版本的IDEA是Git(是VCS的位置)—》GitHub—》Share Project on GitHub

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

创建远程库和别名

这种方式实际上有两个功能:

①先创建了一个Git远程仓库(这个仓库一定是在远程上没有的);

②再把代码整个项目提交到远程仓库Git;

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

点击share,出现以下界面表示推送成功

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

在GitHub中查看远程库Git,发现已经把整个项目推送过来

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

3.  push 推送本地库到远程库

右键点击项目,可以将当前分支的内容 push 到 GitHub 的远程仓库中。

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

会出现以下界面

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

 选择Define Remote在这里可以创建远程链接的别名

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

指定远程仓库的地址和别名

 【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

选定我们刚才定义的仓库

 【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改、提交、推送!

4. pull 拉取远程库到本地库

如果此时我们在远程库手动更改了代码,此时要把项目pull到本地,得到最新的更改版本!

在远程仓库中添加代码

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

在末尾添加一行代码,此时本地库和远程库的就不同,需要重新拉取pull到本地库,获得最新版本

package com.zl;



public class DaoService {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Hello World");
        System.out.println("我是新增加的代码");
    }
}

选择Git—》pull进行拉取 

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

根据前面我们push时定义的仓库地址别名进行拉取

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

成功拉取:如果出现问题,多提交几次

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动 合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

5. clone 克隆远程库到本地

假如此时本地没有git-demo项目,或者说我们把这个项目从本地删除了,此时可以进行克隆

注:pull是原来有这个仓库(项目),拉取仓库中的代码到本地,相当于更新代码的内容;而clone是原来什么都没有,把整个项目clone下来!

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

输入远程仓库的地址, 并确定拉取的项目放在本地的那个位置

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

当然我们也可以在打开IDEA的时候进行clone,最终界面是一样的

【分布式版本控制系统Git】| IDEA 集成 Git 、IDEA 集成 GitHub

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/128385.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!