GitHub

Git

简介

Git是分布式控制系统,用来处理项目。

版本控制

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。它最重要的是可以记录文件修改历史纪录,从而让用户能够查看历史版本,方便版本切换。

版本控制工具

集中式版本控制工具

集中化的版本控制系统诸如CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

在这里插入图片描述

分布式控制系统

客户端提取的不是最新版本的文件快照,二是把代码仓库完整的镜像下来,这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为客户端的每一次文件提取操作,实际上都是对整个文件仓库的完整备份。

在这里插入图片描述

工作机制

在这里插入图片描述

代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

常用命令

在这里插入图片描述

说明

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一次用户签名,否则无法提交代码。这里设置用户签名和将来登录Github的账号没有任何关系。

分支

什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。

在这里插入图片描述

分支操作

在这里插入图片描述

合并冲突

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定使用哪一个,必须认为决定新代码的内容。

解决

合并错误出现后,vim打开要合并的文件,将自己不想要保存的代码删掉,保存退出。然后,保存至暂存区,最后提交,提交的时候就不要带文件名了。

远程仓库

在这里插入图片描述

SSH免密登录

在这里插入图片描述

Idea集成

忽略文件

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XZY-SUNSHINE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值