Java技术学习|Git

学习材料声明

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)

GIt

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。

1.Git的工作机制(下图缺少了代码托管中心的部分)

2.Git的常用命令

bash 复制代码
//查看版本号:
git --version
//设置用户签名 Git 首次安装必须设置一下用户签名,否则无法提交代码。
git config --global user.name 用户名 
//设置用户签名
git config --global user.email 邮箱 
//  初始化本地库
git init
//查看本地库状态
git status 
//添加到暂存区
git add 文件名 
//提交到本地库
git commit -m "日志信息" 文件名 
//查看历史记录 log是详细记录
git reflog 
// 版本穿梭
git reset --hard 版本号

3.Git分支操作

分支。branch。

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)。本质就是head指针指向分支指针,分支指针指向版本。

bash 复制代码
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上//在本分支上合并别人的分支!!记住谁合并谁。

分支会尝试冲突,出现Merging,那就要手动修改冲突,然后再add和commit(执行提交(注意:此时使用 git commit 命令时不能带文件名))。

4.团队协作(对内对外,利用Github讲解)


4.1如何在github上创建远程库?

就是New resposity,然后创建就行。

bash 复制代码
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 起别名  //远程地址,github会给你,用http和ssh都可以
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

4.2团队外的人如何进行一些贡献?

首先要fork,这样会在自己的账号下有一个远程库,clone到本地,然后修改push上去。觉得写好了,就pull request给原团队。

原团队会接收到,然后进行核对和与你进行必要的交流,之后原团队进行merge pull request的操作。

4.3SSH免密登录

在当前的用户的家目录。C盘-user-用户名

bash 复制代码
ssh-keygen -t rsa -C atguiguyueyue@aliyun.com //当初登录config设置的邮箱,连续三次回车。
cd .ssh //进入目录
cat id_rsa.pub //赋值内容
 

复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys

IDEA与GIt

1.IDEA操纵本地

  1. 需要创建git.ignore文件来使得不commit .idea或者target包下的影响跨平台或者与源码无关的文件。具体的配置流程看pdf。(写配置文件+在gitconfig里面配置)
  2. 在IDEA的setting-version-Git里面配置git.exx(这个好像IDEA会自己寻找,只要看一下版本对不对就好)
  3. 在菜单栏的VCS里面初始化 create Git Repository
  4. 正常的git add commit操作。
  5. 版本切换在IDEA下方的Version control 的Log里面,对应版本右击鼠标,checkout Revision。
  6. 新建分支,在右下角的master下, 切换版本checkout。
  7. merge操作,也在右下角完成。

2.IDEA集成GitHub或者码云(以GitHub为例,码云基本一致)

  1. 首先plugin对应的插件
  2. 在在IDEA的setting-version-GitHub添加账号(github建议使用token(具体如何获取看pdf,注意保存好token))
  3. VCS share project on github
  4. push (可以自己手动添加ssh方式)
  5. pull 每次开发前要先pull,保证在最新版本上进行开发
  6. clone

3.IDEA集成GitLab

GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

不能在windows上安装,如果不知道如何建立虚拟机和linux完全不懂,还是建议看韩顺平linux的前40p。

除了安装比较麻烦,其他的操作和集成GitHub一致。

相关推荐
CoderYanger2 小时前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
C++业余爱好者3 小时前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
想用offer打牌3 小时前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
皮卡龙3 小时前
Java常用的JSON
java·开发语言·spring boot·json
利刃大大3 小时前
【JavaSE】十三、枚举类Enum && Lambda表达式 && 列表排序常见写法
java·开发语言·枚举·lambda·排序
float_六七3 小时前
Java反射:万能遥控器拆解编程
java·开发语言
han_hanker4 小时前
java 异常类——详解
java·开发语言
源码获取_wx:Fegn08954 小时前
基于springboot + vue健身房管理系统
java·开发语言·前端·vue.js·spring boot·后端·spring
峥嵘life4 小时前
Android16 EDLA 认证测试CTS问题分析解决
android·java·服务器
Mr1ght4 小时前
为什么 InheritableThreadLocal 在 Spring 线程池中“偶尔”能传递变量?——一次线程池上下文传播的误解
java·spring