赞
踩
搜索Git然后将你下载好的Git的文件目录位置给他弄进去就行
分支管理通常是在IDEA的右下角找到
1.概念
rebase和merge的区别
merge 是合并的意思,rebase是复位基底的意思
merge
rebase
假设现在有一个test分支。
- D---E test
- /
- A---B---C---F master
1.merge
会产生一个新的节点G,是将分支和master合并到同个节点
- D--------E
- / \
- A---B---C---F---G test , master
2.rebase
不会产生一个新的节点,而是将分支弄到主分支上
-
- A---B---C---F---D*---E* test , master
2.案例:
1.在master上新开一个kkoneone分支并创建一个新类进行一些操作。
2.commit一下内容,把更改的内容和分支推送到远程仓库
回到主分支看是没有代码的,接下来的操作就是要把kkoneone分支合并到matser中
3.合并分支
在master主分支,点击kkoneone分支可以看到有这两条,选择上面那个,就是说把kkoneone这条分支rebase到master里面去
可以看到这时候master就已经有了kkoneone分支里的内容
然后进行push一下,这时候远程代码库的master分支也已经有了kkoneone分支上的代码
首先当前版本是这样的,“初始化”就是当前的版本
然后添加一语句,并commit和push提交为版本1
System.out.println("test2");
额外小知识:HEAD、master、origin/master的区别
HEAD
是当前工作目录的分支或提交的指针。master
是本地仓库中的分支,你可以直接在其上工作和提交。origin/master
是远程仓库中的 master
分支的指针,用于比较和合并。而此时我们不想要这个更改过后的版本,想跳回到之前的版本,不做任何代码的保存,就对你想要的版本右键(这里我跳回初始化这个版本)
根据自己的需求选择,这里我选择hard,意思就是你这个版本写的代码不会保存,直接回调到你想要的那个版本的代码(本地),但commit的版本还会存在
可以看到代码已经消失并且指针回到了上一次初始化的版本,但可以看到远程代码仓库的代码还没更改,远程仓库代码还是存在的
git reset中soft、mixed、hard、keep的区别
--soft:
--soft
选项时,git reset
会将HEAD移动到指定的提交,但是不会修改索引(即暂存区)或工作目录。这意味着所有的更改都会保留在索引中,准备进行下一次提交。--mixed(默认):
--mixed
是 git reset
的默认行为。它会将HEAD和索引重置到指定的提交,但是不会改变工作目录。这意味着所有在索引中的更改都会被更新,但是工作目录中的更改仍然保留。--hard:
--hard
选项时,git reset
会将HEAD、索引以及工作目录全部重置到指定的提交状态。这将丢弃所有未提交的更改。--keep:
--keep
选项用于当存在本地提交时,你想要重置HEAD和索引到远程分支的状态,但又不想丢失本地的提交。它会尝试保持本地提交,即使它们在远程分支中不存在。--keep
会重置HEAD和索引,但是保留本地提交。如果存在冲突,它会停止重置并允许你解决这些冲突。额外小知识
问题:
如果这个时候不做任何更改单纯是进行push就会出现这个问题,是因为我们之前选择的那个方案只是改了本地仓库的代码,但远程仓库的代码没变,因此两边版本不一致导致无法push。(当和其他人协作开发的时候,别人push上去了的代码我们没有及时pull下来本地,这个时候我们push上去也是会有这个问题)
如果当前项目还没交给Git管理的则按照以下图所示先将项目交给Git管理
然后此时文件都会是红色的,这表明都还没有加入到缓存区,因此要先add一下
然后commit
可以看到文件都被加入进来了,然后填写一个备注信息之后就可以commit了
如果想按照模块来看的话可以选择这个
注意此时是master分支
此时他需要你填入一个URL,因此得先去GItHub上新建一个专属于这个项目的仓库
创建好后将这里的HTTPS或者SSH复制进去即可
这的意思就是说本地master分支会推送到远程origin的master分支上并连接上,我们直接push即可
这种情况不用惊慌,重启一下项目再来push即可
项目交给Git管理后找到右下角的Git
按照以下步骤填入远程仓库URL,表示连接远程仓库
填入远程仓库名字和URL
至此我们就连接上了远程仓库,但还没有将本地分支和远程仓库分支连接起来
可以在右下角先打开当前分支,找到远程分支右键,选择从远程仓库新建一条分支,这时候命名一下然后本地那就会出现一条分支
当我们commit完之后push,之后就能看到那条分支已经连接上远程分支
本地分支
连接远程的那条分支
可以看到push完显示这样已经是本地分支已经连接上了远程分支
GItHub上也已经有这条分支。注意这种方法是在之前那条分支的基础上新增的,也就是说会保留之前项目的内容
本地克隆远程
从新建这个地方选择
然后将人家的地址的URL地址复制进去
Directory是该项目拉取下来后存在的位置
看到右上角的
选择要拉取的仓库名字
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。