【git】常用命令|分支操作|GitHub|idea集成git

快捷键

清屏:ctrl+l
复制:双击鼠标左键
粘贴:单击鼠标中键

git常用命令

设置用户签名:
git config --global user.name xxx
git config --global user.email xxx@163.com

初始化本地库:git init

查看状态:git status
在这里插入图片描述

项目提交

git命令与Linux通用,创建hello.txt文件,用vim编辑

将工作区的内容上传到暂存区:git add hello.txt

从暂存区中删除:git rm --cached hello.txt
在这里插入图片描述

将暂存区的内容提交到本地库:git commit -m "first commit" hello.txt 首次提交
在这里插入图片描述

查看历史版本:git reflog(精简),git log
在这里插入图片描述

提交步骤: 工作区 - 提交暂存区 - 提交本地库

版本穿越

首先使用git reflog 查看历史版本,复制想要穿越回的版本号,然后git reset --hard cced5b6(版本号),穿越成功,此时工作区的文件为已穿越的版本
(底层 :移动的head指针)
在这里插入图片描述
也可以再次穿越回第三版本
在这里插入图片描述

git分支操作

公司中有多个服务器,多个环境,开发环境、测试环境、生产环境等,项目就需要有多个分支,复制多套代码,比如程序员开发时的开发分支,测试分支,供用户使用的线上分支等等。分支可以并行推进多个功能的开发,提高开发效率,若有分支开发失败,不会对其他分支有影响。

版本迭代过程:
已在开发好的master主线程序(v1.0)基础上,做出新的改动比如更新ui,就会引申出一条新的分支,在新的分支中进行开发,开发成功后与主线程序合并(v1.1)形成新的版本,此时遇到bug,开出新的hot-fix(热修)分支进行紧急修复,问题解决后合并入主线(v1.2);向程序中添加新功能,就再开出新的分支,经过一系列的研发测试后上线并入master主线(v2.0)······

创建分支:git branch xxx
查看分支:git branch -v
在这里插入图片描述

切换分支:git checkout xxx
在这里插入图片描述

分支内容修改后也需要提交
在这里插入图片描述
在这里插入图片描述
此时切换回master分支,里面的内容没有变化

分支合并

想要将hot-fix分支合并到master,需要在master分支下操作
git merge xxx

正常合并:
仅改动过hot-fix,无冲突
在这里插入图片描述

冲突合并:
分支合并时,两个分支在同一个文件同一个位置有两套完全不同的修改,git无法替我们决定使用哪一个,需要人为决定使用哪套代码。
冲突再现:master中修改文件,再切换hot-fix分支,修改文件,此时切换回master,合并hot-fix分支
git自动将两处修改做合并
在这里插入图片描述
此时hot-fix中的文件不会被修改
(git本质就是head指针的移动)

GitHub

下载devsidercar,提高GitHub访问速度

创建远程库:create a new repository,repository name最好和本地库的名字一样

查看远程库别名:git remote -v

创建别名:git remote add git-demo(远程库别名) https://github.com/MojitOo0/git-demo.git(远程库链接)
在这里插入图片描述
出现两个别名,既可以拉取,也可以推送

push

推送本地库到远程库:
git push xxx(项目名称) master(分支)
首次push需要登录GitHub账户,现使用token方式personal access token,弹出的对话框填写登录名和密码,密码就是你的token
在这里插入图片描述

pull

远程库中的代码拉取回本地:git pull git-demo master
在这里插入图片描述

clone

进入需要存放项目的文件夹,执行命令克隆:git clone https://github.com/xxxx/xxxx.git,公共库不需要登录GitHub,也不用init
在这里插入图片描述
clone会做以下事情:
1.拉取代码 2.初始化本地仓库 3.创建别名
在这里插入图片描述

idea集成git

环境准备

eclipse、idea等的一些特定文件需要忽略,iml,.idea,需要配置:
创建忽略规则文件xxx.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中插入一条:

[core]
	excludesfile = C:/Users/win10/git.ignore(文件所在路径)

保存,打开idea:
新建一个项目,打开settings—>version control
在这里插入图片描述

到这里环境就准备好了

提交

在这里插入图片描述

弹出的框点击ok,在项目文件夹中就会创建一个.git的隐藏文件夹,表示初始化成功,pom.xml也会变红,表示在工作区中,未被提交。
在这里插入图片描述

将pom文件提交到暂存区:
在这里插入图片描述

新建一个java类,idea弹出是否加入git:
在这里插入图片描述

将项目包全部提交,再传到本地库:
在这里插入图片描述

填写commit message,“first commit”,然后提交
在这里插入图片描述

版本切换

修改提交三次,在下面的version control可以看到log日志,和对应的指针位置:
在这里插入图片描述
在这里插入图片描述
切换版本成功,黄色head指针移动:
在这里插入图片描述

创建分支

在这里插入图片描述
或在idea右下角选择:
在这里插入图片描述
新建一个hot-fix分支,可以再次切换:
在这里插入图片描述

合并分支

正常合并:

hot-fix中的代码修改并已提交本地库,现切换回master,进行合并
在这里插入图片描述
合并成功:
在这里插入图片描述

冲突合并:

将master和hot-fix都进行修改提交:
在这里插入图片描述
idea右下角选择hot-fix,点击merge into current,出现对话框,点击merge
在这里插入图片描述
手动合并,合并好后点击apply
在这里插入图片描述

合并成功:
在这里插入图片描述

idea设置GitHub账号

在这里插入图片描述
账号密码不可用,需要使用token,到GitHub上申请token。

分享项目到GitHub:
在这里插入图片描述

GitHub克隆代码到本地

在这里插入图片描述
在这里插入图片描述
输入上方的url
在这里插入图片描述

gitee码云

idea安装gitee插件:
在这里插入图片描述
登录gitee:
首先在gitee上生成私人令牌:
在这里插入图片描述
使用生成的token来登录:
在这里插入图片描述
分享项目到gitee:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值