git使用---github/gitee/gitlab-爱代码爱编程
目录
一、Git 概述
1、版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换
2、版本控制优点
3、Git 工作机制
4、Git 和代码托管中心
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
局域网
GitLab 互联网
GitHub(外网) Gitee 码云(国内网站)
二、Git安装
官网地址: Git官网地址下载最先版一路傻瓜式安装即可。右键任意位置,在右键菜单里出现Git Bash Here Git GUI Here 即安装成功注意:你需要哪个文件夹目录(比如项目目录)进行版本控制,你就打开相应的文件夹(里面时具体要托管的文件)右击,选择Git Bash Here,进入git终端。首先初始化该文件夹为一个Git本地库:使用命令git init
三、Git 常用命令
1、设置用户签名
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。 Git 首次安装必须设置一下用户签名,否则无法提交代码git config --global user.name 用户名git config --global user.email 邮箱-----可以随便,Git不检查格式
2、常用指令
git init将某个文件夹目录,当作托管的本地库:使用命令git init。git status 查看本地库状态指令:
1、首次查看(工作区没有任何文件)2、新增文件( hello.txt )或者改变本地库任意文件后,再次查看检测到未追踪的文件:3、 添加暂存区 git add 文件名
git add hello.txt 将hello.tet文件添加到本地库的暂存区:即可以追踪它了,此时可以撤销修改,未提交呢
4、提交本地库 将暂存区的文件提交到本地库
git commit -m " 日志信息 " 文件名日志信息:这次修改操作的说明,以识别这个版本做了什么修改查看状态(没有文件需要提交)
如果此时再次修改hello.txt文件,则会出现 (检测到工作区有文件被修改)
将修改的文件再次添加暂存区,再次commit,添加这次修改的说明
5、git reflog 查看版本信息 git log 查看版本详细信息
6、版本穿梭:
git reset --hard 版本号
1、首先查看当前的历史记录,可以看到当前是在 087a1a7 这个版本2、切换到 86366fa 版本,也就是我们第一次提交的版本注意:Bash中的复制:选中内容即复制成功,粘贴:选中内容后,在输入位置按下鼠标中键(滚轮)即可实现粘贴。
3、切换完毕之后再查看历史记录,当前成功切换到了 86366fa 版本
四、Git 分支操作
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
可以同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
注意:在主分支下创建分支,可以在分支中修改,然后切换到主分支合并修改的分支。
合并中有可能产生冲突:
合并分支时,两个分支在 同一个文件的同一个位置 有两套完全不同的修改。 Git 无法替我们决定使用哪一个。必须 人为决定 新代码内容解决合并冲突:手动选择两个多分支修改
五、Git 团队协作机制
1、团队内协作
2、跨团队协作
六、远程库1--GitHub 操作
1、创建远程仓库
一般一个仓库相当于一个托管的项目
可以在C盘/用户/你现在使用的用户那个文件夹下那里创建一个git.ignore文件,加入忽略的文件配置。
2、远程仓库操作
克隆远程仓库到本地:
公司给了你一个,github上的仓库地址(https协议的或者SSH协议),你需要在某个文件夹下,右键打开Bash,输入clone命令: git clone 远程地址j即可拷贝下来程序到你得本地
3、邀请加入团队
如:https://xxx.com/用户名/git-shTest/invitations 这个链接,你收到了这个邀请,登录你得github账号界面,在浏览器的地址输入栏输入这个邀请链接(注意一定在你得github页面)
4、跨团队协作---可以了解了解Fork
5、
github的SSH 免密登录
具体步骤:
在当前用户的家目录如:C:/用户/HP/
1、运行命令生成 .ssh 秘钥目录 [ 注意:这里 -C 这个参数是大写的 C ]ssh-keygen -t rsa -C 你之前设置的邮箱2、按3次Enter键,如下:这就在当前用户家目录下生成了.ssh文件夹:
有这两个文件,密钥
3、复制 id_rsa.pub 文件内容
4、登录 GitHub,点击用户头像→Settings→SSH and GPG keys
5、
6、
七、IDEA 集成 Git
7.1 配置 Git 忽略文件
Maven 工程的 target 目录
与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。
1、 创建忽略规则文件 xxxx.ignore (前缀名随便起,建议是 git.ignore )这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用户家目录下。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
2、在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)
[user] name = Layne email = Layne@atguigu.com [core] excludesfile = C:/Users/asus/git.ignore 注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
7.2、在IDEA中定位Git
Git设置本地仓库,远程仓库使用GitHub/Giteee(码云),因此IDEA中操作Git、GitHub、Gitee实现版本控制,push到远程仓库,pull回IDEA项目中,以及clone到本地(一般给的github仓库地址或者gitee仓库地址,你在本地电脑创建一个文件夹,用git管理init后,执行git clone 远程仓库地址)即可。
1、在IDEA中安装Git、GitHub、Gitee插件
2、进入你得项目中:
选择VSC----create Git Repository
创建并初始化本地仓库
3、选中项目,右键 添加暂存区
4、提交本地库commit
5、创建分支
5.切换分支
6、合并分支
合并分支有两种情况,一是master主分支没有做出修改而其他分支做出修改,最后切换到master分支下合并分支会正常合并
二是master主分支和其他分支均做出修改,在最后合并时git会不知道用哪个,就产生了冲突。
这里我只演示一下冲突怎么来手动合并:
当两个分支在同一个文件的同一个地方都做改变了,和缤纷的时候会发生冲突,此时只能手动选择合并:
八、IDEA集成Gitee和Github
首先要安装Gitee和Github插件,前面也提到了,不然是用不了的哦
两个远程库操作基本上一样,这里以Gitee国内的为例
8.1、添加Gitee账号
前提你得去Gitee官网注册个账号,Gitee官网
8.2、将本地代码push到码云远程仓库
去我们的Gitee上看看发现已经push成功了哦,在Gitee上的git-demo仓库中有了我们的代码
8.3、将远程仓库代码pull到本地
如果我们的远程仓库修改了,而我们本地并没改变,我们此时就可以将远程库代码pull到本地
8.5、码云复制Github项目
很简单
去Github上找到自己想要复制的项目地址并copy。https协议的地址即可
把地址在Gitee新建库的步骤中,导入的方式,刚复制的地址放进去,
如果Github上项目的代码有所更新,那么我们的Gitee上代码显然没有更新,这时候我们就要学会强制刷新Gitee项目代码
之刷新网页是没用的
8.6、 从远程仓库克隆项目
8.7、IDEA中的Git的log信息
可以查看具体的信息以及操作