Git 笔记

Git 概述

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小到大的各种项目。

版本控制工具分类

  • 集中式版本控制工具。CVS、SVN、VSS等。(版本控制在服务器上进行的)
  • 分布式版本控制工具。Git、Mercurial、Bazaar等。
    (版本控制在本地进行)
    在这里插入图片描述

Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般称为远程库
局域网:GitLab
互联网:GitHub(外网)、Gitee(国内网站)

Git 常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭

删除暂存区文件git rm --cached 文件名

查看详细日志git log。有完整版本信息、用户信息、时间。

文件中查看版本方式:进入.git文件,点击HEAD,查看指针指向哪个分支。根据查看内容进入这个分支目录,查看完整版本号。

文件修改:修改文件后,将文件添加到暂存区,再提交到本地库即可。

在这里插入图片描述

Git 分支操作

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

分支的好处:同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,若某个分支开发失败,不会影响其他分支。失败的分支删除重新开始即可。

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

分支合并(冲突合并)
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法决定使用哪一个。必须人为决定新代码内容。

制造冲突
修改同一个文件hot-fix添加到暂存区,提交到本地库,master也添加到暂存区,提交到本地库。此时将hot-fix分支合并到master中,报冲突了!在master中,手动将文件冲突的内容合并,然后将手动修改后的文件重新,添加到暂存区,提交到本地库。(注意:此时提交本地库就不能再带命名了!)

合并分支,只会修改你要合并进去的那个分支,不会修改那个合并外的分支。

团队内协作

在这里插入图片描述

跨团队协作

在这里插入图片描述

Github操作

命令名称作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址给远程地址起别名
git push 别名 分支推动本地分支上的内容到远程仓库
git clone 远程地址将远程仓库的内容克隆到本地
git clone -b 分支名 远程地址将远程仓库的分支克隆到本地
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

克隆会做如下操作:

  1. 拉取代码
  2. 初始化本地仓库
  3. 创建别名

克隆无需登录,因为库是公共的。
推送代码到远程库,需是远程库中的成员。

配置SSH免密登录

  1. 在本地生成.ssh秘钥目录
    ssh-keygen -t -rea -C 账号邮箱,敲三次回车,即生成完毕。(生成公钥私钥
    -t:用于指定加密协议
    rsa:非对称加密协议
    -C:是一个描述
  2. 在github配置公钥:

在这里插入图片描述 在这里插入图片描述

Idea集成Git

1. 配置Git忽略文件。

(忽略掉不重要的文件,因为与项目的实际功能无关)

  • 创建忽略规则文件xxx.ignore(建议是叫 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

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml
  • 在**.gitconfig**文件中引用忽略配置文件(此文件在Windows的家目录中)
[user]
	name = Augenestern
	email = .....@qq.com
[core]
	excludesfile = C:/Users/Augenestern/git.ignore
注意:这里要使用"正斜线(/)",不要使用"反斜线(\)"

2. 在idea中定位Git程序

在这里插入图片描述

3. idea Git初始化、添加、提交

在这里插入图片描述
点击ok,就在当前项目下创建了.git目录,此时已经被git管理了。

在这里插入图片描述
在这里插入图片描述

4. 切换版本。

在这里插入图片描述
在这里插入图片描述

5. 创建分支

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 合并分支

在这里插入图片描述
在这里插入图片描述

7. Idea设置GitHub账号

在这里插入图片描述
在这里插入图片描述
用口令需在Github上生成,如下图:
在这里插入图片描述
在这里插入图片描述

8. 分享项目到GitHub。

(1、先创建远程库。2、再push代码)
在这里插入图片描述
在这里插入图片描述

9. 推送代码到远程库。

方式一:
在这里插入图片描述
方式二:
在这里插入图片描述
点击push后,如下图操作:
在这里插入图片描述

10. 拉取远程库到本地

注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push的操作是会被拒绝的。也就是说,想要push成功,一定要保证本地库的版本要比远程库的版本高!
因此,我们在手动改本地代码之前,要先检查下远程库跟本地库代码的区别!如果本地的代码版本已经落后,切记要先pull拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改、提交、推送!

在这里插入图片描述
在这里插入图片描述

11. 克隆远程库到本地

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值