Git教程

Git+GitHub+Idea

前言

本教程使用Git+gitHub+Idea讲解如何使用Git来进行代码的版本管理(当然此处的GitHub可以使用gitlab或是其他的git远程仓库服务),整个过程是从实际项目开发的过程开始的,包括仓库的创建,到工程代码的提交,分支的建立,分支的合并等;

首先准备工作是:有GitHub账号(实际使用可以是其他的git应用),并且会使用GitHub建立远程仓库,本地有可以提交的工程代码,本地已经安装了git,已经连接到GitHub,并且集成到了idea中;

本节讲解的开发模式:远程仓库master是作为生产代码的,不在此分支上开发,创建一个远程dev分支作为开发分支,所有开发者都在dev分支上开发,然后等dev分支代码稳定之后,将dev分支的代码合并到master分支上;

一.远程GitHub仓库的创建

创建GitHub仓库之后如下,现在仓库中没有代码;

 

二.本地工程代码的提交

我的demo代码工程如下:

 

下面开始将本地demo工程提交到GitHub仓库中:

创建本地仓库:

git init

创建远程origin:

git remote add origin git@github.com:Little-Orange7/demo.git

将本地工程代码添加到本地git:

git add <代码工程>

例如:git add demo

将添加到本地git的代码提交到本地仓库:

git commit -m "注释提交"

将本地仓库的代码提交到远程仓库(注:下面是初始提交):

git push -u origin master

 

此时远程仓库就有我们提交的代码了,然后将这个远程代码作为主分支,在远程仓库中创建一个开发的分支,所有的开发

人员都从这个开发分支上检代码和提交代码;

三.远程仓库分支的创建

 

注:远程仓库创建完dev分支之后,默认就是把主分支的代码copy了一份作为dev分支,所以此时的dev分支代码和主分支的代码是一样的;

四.开发者检出分支代码

因为提交代码到远程分支,这里就涉及到检出到本地的代码和远程分支的关系,要建立本地分支和远程特定分支关联关系,因为后面使用idea开发工具会很方便,所以此处我只讲解最简单的方式;

1.使用idea工具检出代码:

打开idea

URL处输入Git代码的地址,Directory选择本地存放代码的路径,首次test会弹出输入用户名和密码弹框,用户名和密码是之前注册gitHub时的用户名和密码(之后就不需要输入用户和密码了)

test完成connect successful后,选择要存放代码的目录,点击clone就可以检出代码了。

2.使用git命令行工具检出代码:

其他开发者创建一个目录,然后在该目录下:

创建本地git仓库:

git init

然后clone远程仓库代码到本仓库:

git clone git@github.com:Little-Orange7/demo.git

注:此处git@github.com:Little-Orange7/demo.git是我的仓库地址,要改成你自己的,

此时本地git会包含所有的远程仓库的分支信息,接下来使用idea开发工具来操作git;

五.开发者提交代码到分支

使用idea来创建分支,建立分支关联关系,提交代码;

使用idea打开刚才clone的工程,然后在右下角点击Git会自动显示远程git仓库的所有分支和本地仓库(默认会创建一个master仓库);

1.按照下图的提示,在本地创建一个分支,该分支会自动和所选择的分支建立关联关系,pull代码时会自动从该关联的远程分支上拉取代码:

 

2.切换本地分支为要修改的分支

切换本地不同的分支,代码也可能会不一样,所以在修改代码之前,一定要确认当前本地的分支是自己要修改的分支:

 

3.修改代码后提交

先commit到本地当前分支的仓库,如果本地测试没问题,可以push到远程分支上,push代码时可以选择分支,但是默认会提交到关联的远程分支上,如果不是merge,都不要更改要提交的远程分支;

下面是git视图,没有修改的话,会不会有变动信息的,如下:

 

下面我修改一下文件,可以看到修改的文件变动在下面可以看到:

 

然后我提交修改内容:

 

我们只commit到本地分支了,但是没有push到远程dev分支上,如果想把

commit到本地仓库的代码push到远程分支上,可以在git视图下右键,然后按照下面

的图示选择push;

 

然后会弹出push窗口如下,可以看见提交的注释,选择要push的代码然后push就可以了;

 

push成功之后,可以在log查看提交记录,如下:

 

在远程仓库中也可以看到提交记录,如下:

 

六.将远程dev分支代码合并到master上

合并远程dev分支代码到远程master分支上有几个步骤:

(例子中,关联远程dev分支的本地分支为demoPull)

1.切换本地分支为所关联的远程dev分支demoPull;

 

2.本地分支pull,将远程分支代码pull到本地demoPull分支上;

此时pull,会将本地demoPull分支所关联的远程dev分支代码pull到本地

 

3.merge将本地demoPull分支代码合并到远程master分支上(实际都是本地合并,并未提交到远程master上)

 

4.将merge的master提交到远程master分支上

 

 

七.其他补充

一.Git本地仓库连接GitHub远程仓库

由于本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:

第一步:本地创建SSH Key

ssh-keygen  -t rsa –C “youremail@example.com”

 

第二步:将public key添加到github

打开id_rsa.pub文件,将密钥复制到github的sshkey中

 

 

二.Git的本地仓库的使用

网上有很多,这里就不多写了,可以参考其他文章

①.本地创建git:git init

②.创建(修改)用户名和email:

(注意设置完之后,这个和具体仓库无关,和git有关,所有的提交到任何的仓库时,都将默认此用户名提交,除非在提交之前,修改用户名)

git config –global user.name “用户名”

git config –global user.email “邮箱”

查看用户名和email:

git config user.name

git config user.email

原文地址:https://www.cnblogs.com/littleorange7/p/10567318.html