Git相关知识 day03

一、搭建私有Git服务器

1.1 服务器搭建

        远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。

        搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:

第一步:安装git服务环境准备

yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc

第二步:下载git-2.5.0.tar.gz

1)解压缩

2)cd git-2.5.0

3)autoconf

4)./configure

5)make

6)make install

第三步:添加用户

adduser -r -c 'git version control' -d /home/git -m git

此命令执行后会创建/home/git目录作为git用户的主目录。

第四步:设置密码

passwd git

输入两次密码

第五步:切换到git用户

su git

第六步:创建git仓库

git --bare init /home/git/first

1.2 连接服务器

        私有git服务器搭建完成后就可以向连接github一样连接使用了,但是我们的git服务器并没有配置密钥登录,所以每次连接时需要输入密码。

        使用命令连接:

                $ git remote add origin git@192.168.25.156:first

        使用TortoiseGit同步的话参考上面的使用方法。

二、分支管理

2.1 创建合并分支

        在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD指针严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

        一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

        每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。

        当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

        Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!

        不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:

        假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

        所以Git合并分支也很快!就改改指针,工作区内容也不变!

        合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:

2.2 使用TortoiseGit实现分支管理

2.2.1 创建分支

        在本地仓库文件夹中点击右键,然后从菜单中选择“创建分支”:

        如果想创建完毕后直接切换到新分支可以勾选“切换到新分支”选项或者从菜单中选择“切换/检出”来切换分支:

2.2.2 合并分支

        分支切换到dev后就可以对工作区的文件进行修改,然后提交到dev分支,master分支不受影响。例如我们修改mytest.txt中的内容,然后提交到dev分支。

        切换到master分支后还是原来的内容

        将dev分支的内容合并到master分支,当前分支为master。从右键菜单中选择“合并”:

        再查看mytest.txt的内容就已经更新了

2.2.3 解决冲突

        两个分支中编辑的内容都是相互独立互不干扰的,那么如果在两个分支中都对同一个文件进行编辑,然后再合并,就有可能会出现冲突。

        冲突需要手动解决。

        在冲突文件上单机右键选择“解决冲突”菜单项:

        把冲突解决完毕的文件提交到版本库就可以了。

三、在IntelliJ IDEA中使用git

3.1 在Idea中配置git

        安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。

        选择File→Settings打开设置窗口,找到Version Control下的git选项:

        选择git的安装目录后可以点击“Test”按钮测试是否正确配置。

3.2 将工程添加至git

        在idea中创建一个工程,例如创建一个java工程,名称为idea-git-test,如下图所示:

        创建本地仓库:在菜单中选择“vcs”→Import into Version Control→Create Git Repository...

        选择工程所在的上级目录。本例中应该选择idea-projects目录,然后点击“OK”按钮,在工程的上级目录创建本地仓库,那么idea-projects目录就是本地仓库的工作目录,此目录中的工程就可以添加到本地仓库中。也就是可以把idea-git-test工程添加到本地仓库中。

        选择之后在工具栏上就多出了git相关工具按钮:

        将工程添加至本地仓库,直接点击commit按钮,将工程提交至本地仓库。

        然后点击“commit”按钮,将工程添加至本地仓库。

        推送到远程

        在github上创建一个仓库然后将本地仓库推送到远程。

        在工程上点击右键,选择git→Repository→push,

        或者在菜单中选择vcs→git→push

        点击“Define remote”链接,配置https形式的URL,git形式的无法通过。然后点击OK

        点击“push”按钮就讲本地仓库推送到远程,如果是第一次配置推送需要输入github的用户名和密码。

3.3 从远程仓库克隆

        关闭工程后,在idea的欢迎页上有“Check out from version control”下拉框,选择git

        此处仍然推荐使用htts形式的url,点击“test”按钮后显示连接成功。

点击OK按钮后根据提示将远程仓库克隆下来,然后导入到idea中。

3.4 从服务端拉取代码

        如果需要从服务端同步代码可以使用工具条中的“update”按钮

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Git历史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着...
    小陈工阅读 171评论 0 2
  • 一、使用git管理文件版本 1.1修改文件 1.1.1提交修改 被版本库管理的文件不可避免的要发生修改,此时只...
    小陈工阅读 167评论 0 1
  • git相关知识点 1、git初始化 首先明确git的相关名词(工作区、暂存区、版本库、远端仓库) git init...
    誓俭草阅读 517评论 0 0
  • window 安装git 配置邮箱和用户名 git config --global user.name"Your ...
    program_sheep阅读 133评论 0 0
  • 一、版本控制概要 工作区 暂存区 本地仓库 远程仓库 1.1、什么是版本控制 版本控制(Revision cont...
    超超带你学教程阅读 165评论 0 0