IDEA中操作Git

一、配置git客户端

在这里插入图片描述

二、基本操作

2.1 忽略工作区的某些文件或文件夹,使之不会添加到暂存区

在这里插入图片描述

2.2 基本命令

Annotate 查看每一行代码的提交人
Show Current Revision 显示当前行最新修订历史版本
compare with the same repository version 与当前文件同版本号的资源比较,其他人修改了此文件并在你之前提交了代码,是不与比较的;
Compare with 可以选择和任意历史版本比较
Compare with Branch 可以选择与本地仓库或远程仓库的任意分支最新版本比较差异
Show history 查看当前分支历史记录
在这里插入图片描述
Rollback 回滚到与本地仓库保存一致
在这里插入图片描述
Branches 可以查看本地分支和远程分支并且点击切换

Tag 可以给某次commit打上标签,默认当前commit
Merge Branches 合并分支
Stash Changer 储藏
UnStash Changes 取消储藏
Reset 重置
在这里插入图片描述

reset三种模式区别和使用场景
区别:
–hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。

–soft:重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

–mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

git push origin HEAD --force 强制提交一次,之前错误的提交就从远程仓库删除

Remotes 关联远程仓库
在这里插入图片描述
Clone 克隆远程仓库

Fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

pull 则是将远程主机的最新内容拉下来后直接合并.即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
.
push 推送代码到远程仓库

Rebase 合并

git cherry-pick(拣选)
有时在开发时,会遇到想将某一开发分支的某个特定提交,应用到当前要发布的分支上,而不想合并整个分支;这时就可以使用cherry-pick 来实现;

拣选会提取某次提交的补丁,之后尝试将其重新应用到当前分支上。 这种方式在你只想引入特性分支中的某个提交时很有用。
具体应用:

假设有两个分支dev、test

目前在分支dev上做了个commit(ef2db28ab5b6690c7fc30d76945e8a68efed12b1),而此时test已经落后dev很多;

现在因为项目发布需要,需要将dev上的这个提交单独应用到test上,而同时不合并其他提交;

可进行如下操作实现:

 git checkout test  //首先切换当前分支为test

 git cherry-pick ef2db28ab5b6690c7fc30d76945e8a68efed12b1 //将ef2db28ab5b6690c7fc30d76945e8a68efed12b1提交单独合并至test,并自动commit

猜你喜欢

转载自blog.csdn.net/luomo0203/article/details/113813178