Git教程
Posted littleorange7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]: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 [email protected]:Little-Orange7/demo.git
注:此处[email protected]: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 “[email protected]”
第二步:将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
以上是关于Git教程的主要内容,如果未能解决你的问题,请参考以下文章