一、Git简介windows版下载地址   Git - Downloading Packagehttps://git-scm.com/download/win

Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:

        本地仓库:开发人员自己电脑上的Git仓库

        远程仓库:远程服务器上的Git仓库

commit:提交,将本地文件和版本信息保存到本地仓库

push:推送,将本地仓库文件和版本信息上传到远程仓库

pull:拉取,将远程仓库文件和版本信息下载到本地仓库 

二、创建远程仓库(代码托管)

利用互联网上提供的代码托管服务来实现,常用如下几种

GitHub(地址:https://github.com/),是一个面向开源及私有软件项目的托管平台,因为支持Git作为唯一的版本库格式进行托管,故名gitHub

码云(地址:https://gitee.com/),国内的一个托管平台,服务器在国内,相比于gitHub速度比较快。

GitLab(地址:https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

BitBucket:(地址:https://bitbucket.org/),是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

注意:每一个Git远程仓库都会对应一个网络地址,点击【克隆/下载】按钮,在弹出窗口点击【复制】获得网络地址

三、Git常用命令

1.全局设置

        设置用户信息

        git config --global user.name "XXXXX"

        git config --global user.email "email地址"

 注意:这里的 user.name 和 user.email 不是我们注册时使用的用户名和密码,可自由设置。每次Git提交都会使用该用户信息

        查看配置信息

        git config --list

2.获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获取Git仓库。两种方法

        在本地初始化一个Git仓库(不常用)

        ①在任意目录下创建一个空目录

        ②进入这个目录,右键打开Git bash窗口

        ③执行命令 git init  如果在当前目录中看到隐藏的.git文件夹表示Git仓库创建成功

        

        从远程仓库克隆(常用)

        git clone 远程Git仓库地址(就是上面提到的)

注意:在执行git命令时要注意是在哪层目录下执行的。仓库是不允许嵌套的

3.本地仓库操作常用命令

        查看文件状态

        git status

        将文件的修改加入暂存区

        git add 文件名                        *:表示全部文件

        将暂存区的文件取消暂存,或切换到指定版本

        git reset 文件名

        git reset --hard 版本号                            版本号可在日志中查看

         

        将暂存区的文件修改提交到版本库

        git commit -m "描述信息" 文件名                                -m:message描述信息,会记录到日志

        查看日志

        git log

4.远程仓库操作常用命令

        查看远程仓库

        git remote            会列出每一个远程服务器的简名,如果以克隆远程仓库默认origin

        git remote -v        可以看到关联仓库的地址 

        

        添加远程仓库

        git remote add 指定仓库简名 仓库地址

        从远程仓库克隆

        git clone 地址

        推送到远程仓库

        git push 仓库简名 分支名

        从远程仓库拉取

        git pull 仓库简名 分支名

注意:如果当前本地仓库不是从远程仓库克隆的,而是本地创建的仓库,并且仓库中有文件,此时再从远程仓库拉取时会报错(fatal:refusing to merge unrelated histories)

解决此问题可以在 git pull 命令后加入参数 --allow-unrelated -histories  

当本地仓库文件与远程仓库文件都一样时,是不会执行拉取的,只有在有变化的情况下才会拉取

5.分支操作常用命令

        查看分支

        git branch                列出所有本地分支

        git branch -r             列出所有远程分支

        git branch -a            列出所有本地分支和远程分支        

        创建分支

        git branch 分支名

        切换分支

        git checkout 分支名

        推送至远程仓库分支

        git push 远程仓库简名 分支名

        合并分支

        git merge 分支名

注意:合并分支时容易出现冲突问题

解决方法:先把文件中多出来的无用内容删除至想要的合并状态

                  然后使用 git add 文件名 提交到暂存区

                  (fatal:cannot do a partial commit during a merge)

                  最后在使用 git commit命令提交时,加上 -i 参数即可,看到上述错误都可通过添加 -i 参数解决

6.标签操作常用命令

        列出已有的标签

        git tag

        创建标签

        git tag 标签名

        将标签推送至远程仓库

        git push 远程仓库简名 标签名

        检出标签

        git checkout -b 分支名 标签名 

 四、基本名词概念

版本库:后面的.git隐藏文件夹就是版本库,存储很多配置信息、日志信息、文件版本等

工作区:包含.git文件夹的目录就是工作区,也称工作目录,主要用于存放代码

暂存区:.git文件夹中有很多文件,名为index的文件就是暂存区,也可以叫做stage。是一个临时保存修改文件的地方(新创建的空仓库是没有index文件的)

Git工作区中的文件有两种状态:

        untracked 未跟踪(未纳入版本控制)

        tracked 已跟踪(被纳入版本控制)

                1)Unmodified 为修改状态

                2)Modified 已修改状态

                3)Staged 已暂存状态

注意:这些文件的状态会随着我们执行Git命令发生变化

分支:使用分支意味着你可以把你的工作从开发主线上分离开来,一面影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰

标签:指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。相当于照片,一旦打上标签就永远不会变

提交:将本地文件和版本信息保存到本地仓库

推送:将本地仓库文件和版本信息上传到远程仓库

拉取:将远程仓库文件和版本信息下载到本地仓库 

五、在IDEA中使用Git

在IDEA中使用Git实际上使用的也是本地所下载的Git,所以要先下载Git

1)首先配置Git

2) 配置完后,获取仓库两种方式

        本地初始化仓库

        

然后选择项目文件夹-----> 确定

 

 然后就会看到右上角出现 OK

 

   从远程仓库克隆

 

 完成后就会出现上述快捷图标了

可以再IDEA窗口右下角操作分支

.gitignore文件:配置哪些文件不需要git来管理,.gitignore文件名必须叫这个

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐