git配置、使用

git 配置账号密码

git config --global user.name "你的用户名"

git config --global user.email "你的邮箱地址"

拉代码

file ->new ->project from version control

输入拉取代码的链接

第一次拉取时并没有安装git会在idea下载git

然后输入阿里云云效账号密码

更新代码

git update project

添加到暂存区  git add 需要添加到暂存库的文件名

提交到本地库 git commit -m "日志信息(名字可以任意取)" 暂存区需要添加到工作区的文件名

提交到码云上面,git push origin master

查看历史记录 git log

git log显示最近到最远的提交日志,我们可以看到两次提交,最后一次是append ABC

git的版本号是用SHA1计算出来的一个16进制数

如果嫌输出信息太多,可以加上--pretty=oneline

回退历史版本  git reset

查看状态 git status

拉取码云上的所有文件到项目中来,git pull origin master

切换分支 git checkout 分支名

合并分支(正常合并)git merge 需要合并的分支名  //把指定的分支合并到当前分支上

合并分支(合并冲突)

注意事项就是当前分支和合并的分支都不要同时修改,多人合作时,商量好,最好是等到上一个人合并好之后,下一个人再合并进去/提取出来

git branch -vv

git checkout -b dev-1 origin/dev    

切换创建远程分支

git 提交注释:

feat: feature(功能)的缩写,通常用于版本控制系统中记录新增的功能。
fix: 表示修复错误或问题。
docs: 文档(documentation)
style: 格式(不影响代码运行的变动)例如,缩进方式、命名约定等调整都属于格式上的变动。
refactor: 重构,是指对已有代码进行优化和改进,以提高可读性、可维护性或性能等方面。
chore: 构建过程或辅助工具的变动,这可能包括更新依赖项、配置文件更改等。
revert: 撤销,版本回退
perf: 性能优化,意味着对软件系统进行修改以提高其执行速度和效率,并减少资源消耗。
test:测试
improvement: 改进,表示对现有功能或系统进行增强或优化。
build: 打包
ci: 持续集成(Continuous Integration) 是一种软件开发实践,通过频繁地向共享存储库中集成自己开发中完成且经过测试通过,并在新版本上传后立即检查是否引入错误。

解决冲突 merge rebase

rebase看着好看,但是其实没有展现出真实的合并情况,所以要不要用主要看历史记录有没有用。

对于临时的个人分支建议用rebase,对于比较重要的分支合并,不建议用rebase。 比如,你早上起来上班开了个分支,下班就合并掉了,就用rebase,但是对于dev-1.0.9这样的分支,往master合并的时候建议用merge。

如果是两个相同权重的分支 建议用merge, 如果是个人分支合并到主要分枝建议用rebase. 其实对于大部分程序员的开发日常, 用rebase总是没错的。

idea使用git

新建分支

1首先,单击 “Remote Branches” 下的 “origin/master” 分支,单击选择 “New Branch from Selected…”

其次,弹出对话框,输入你要新建的分支名称。例如,feature-1.1.0,单击“Checkout”,表示创建该分支同时切换到 feature-1.1.0 分支。

2然后,创建分支 feature-1.1.0 成功之后,可以在 “Local Branches” 下看到此时有两个分支分别为feature-1.1.0 和 master,这表明本地仓库中已经有了新建的分支了。

3但是 “Remote Branches” 下依然只有一个 master 分支,表明在我们的远程仓库依然只有一个master 分支,因此我们还需要把在本地仓库新建的分支推送到远程仓库中,这样就可以在远程仓库中看到新建的分支了。

单击 feature-1.1.0 ,然后在左边单击 “Push” ,弹出推送对话框。单击 “Push” 推送到远程仓库,这样分支新建操作彻底完成,可以看到在"Remote Branches"分支下面出现了“feature-1.1.0”,我们可以在该分支进行编码并进行拉取和推送操作。

 删除分支

在删除分支之前,建议先切换到(Checkout)其他分支,例如,Checkout到master分支,当然这并不强制,只是为了方便删除分支而已。

1、首先,在 “Local Branches” 下单击分支 feature-1.1.0,左边弹出选项选中 “Delete”.

2、然后,在对话框中勾选“Delete tracking local feature-1.1.0 as well”,意思就是同时删除远程和本地仓库中的 feature-1.1.0 分支。

删除成功之后,出现提示信息 “Deleted Branch:feature-1.1.0”,并且可以在 Git Branches 下看到最新的分支情况。

比较分支

分支比较就是对比不同分支之间的差异。例如,需要比较当前所在分支与 master 分支之间的差异,可以选择需要对比的 master 分支,然后单击 “Compare with Current”,在弹出的窗口可以看到具体的差异。

合并分支

合并分支是将 A 分支合并到 B 分支,A 分支称为源分支,B 分支称为目标分支。

合并分支的流程务必规范:先将 master 分支合并到新分支,之后再将新分支合并到 master 分支。

以 feature-1.1.0 分支和 master 分支为例,将 feature-1.1.0 分支合并到 master 分支中。

1、首先,切换到 feature-1.1.0 分支,将 master 分支合并到 feature-1.1.0 分支中。单击 “Local Branches” 下的 master,选择 “Merge into Current”,这里的 Current 是指目标(feature-1.1.0)分支 ,也就是将 master 分支合并到 feature-1.1.0 分支中,合并成功之后可以看到提示。

2、然后,切换到 master 分支下,将 feature-1.1.0 分支合并到 master 分支。

3、最后,我们可以看到在 “Local Branches” 下的 master 分支有个绿色的小箭头,这是因为我们刚才的分支合并在本地仓库操作的,并没有将远程的 feature-1.1.0 分支合并到 master 分支中。因此,我们还需要将 master 分支推送到远程仓库,点击 Push 或者使用快捷键 Ctrl+Shift+K 推送到远程仓库即可,推送成功之后绿色提示小箭头也会消失。

合并分支

如果自己的分支开发了新功能,要合并到某一分支里面

需要checkout到要合并的分支那里,然后,选择有新功能的分支,merge into到要合并进去的分支

产生冲突的话,需要merge选择留下的代码

然后push到远端

几个常用快捷键

快捷键    操作解释
Ctrl+K    commit changes(提交变化到本地仓库)
Ctrl+Shift+K    push commits to push(将本地仓库的变化同步推送到远程仓库)
Ctrl+T    update project(将远程仓库的代码合并更新到本地)
Ctrl+Alt+Z    Rollback(代码回滚)

IDEA git 版本回滚

1、未commit,进行回滚

已经add到暂存区,但是未commit到本地版本库的改动有两种:

  • 新增的文件

  • 修改的文件

新增的文件直接删除即可,如果是修改的文件,使用roll back来回滚。在local change里面,选择想要rollback的文件即可:

也可以直接右击要rollback的文件然后rollback也行。

2、commit未push,进行回滚

undo commit

commit到本地版本库并且还未push的代码,可以在log里右击单次提交进行undo commit:

需要注意的是undo commit只能从最后一次commit开始回滚,undo commit后会要求选择一个变更列表来存放回滚后的内容,可以自己新建一个,比如此处的commit test,也可以在下拉框里选择一个已经存在的,如果是自己新建的变更列表,勾选了set active选项,后续的变动也会存放到该变更列表中:

可以看到多了一个变更列表:

变更列表有什么用喃?其实变更列表可以把它视为一个命名空间,就是用来做资源隔离的,在进行commit的时候需要下拉选择不同的变更列表来进行提交:

revert commit

类似于undo commit 不过会留有记录日志信息

reset


有时候我们需要直接将本地的代码回滚到版本库的某一个版本,这时候可以使用reset来进行回滚。reset有几种模式:

soft,将版本回滚,工作区不动,暂存区=原来的+回滚后和回滚前的版本差异。

mixed,将版本回滚,回滚到了所有 git add 和 git commit 的命令执行之前。暂存区变为空,变更全部到了工作区。

hard,将版本回滚,将所有工作区和暂存区的文件修改全部清空,是真正的覆盖,不能找回了。

keep,将版本回滚,将所有commit的内容丢弃掉,未commit的内容保留。

在log上选择要回滚到的具体版本:

reset时会要求选择回滚的模式:

3、已commit&push,进行回滚

对commit&push的内容进行回滚其实就是对远端仓库的代码版本进行回滚,在实际开发中偶尔会将内容误推送到了远端仓库上去。比如commit的message写错了,查看log的时候才发现,比如不小心将本地还没有开发完成的代码推送到远端仓库了,由或者合并冲突或者分支的时候合并错了......等等这些情况都要我们对远端仓库的代码进行回滚。

回滚的方式其实很简单,就是将本地的代码版本回滚到指定版本(至于是用revert还是reset,看自己),然后将本地的版本用git push -f强推到远端。

在IDEA中可以在terminal中执行指令:

分支绿色需要push一下

详解IDEA git 版本回滚_idea git回滚-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值