IDEA中的git操作

 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git。intellij有很好的git操作界面,可以拉取代码,拉取分支详情,提交代码到本地仓库,提交代码到远程仓库,可以merge本地分支,merge远程分支,可以自由的切换分支,可以解决merge带来的冲突问题。总之可以完成基本的git操作,详情如下。

      1、 更新代码

       ctrl+T,更新的是远程仓库的代码。(ps:默认更新选择的是branch default 和using stash,可以研究一下其他的选项哦)


       2、提交代码

       ctrl+K,如果本地代码没有改变,会提示,no changes detected(检测到没有改变)。如果本地代码有改变,则可以进行提交,对于git提交,首先是提交到本地仓库(commit),然后再提交(push)到远程仓库中,和svn比起来,相当于加上一层“缓存”,同时加上一层安全。如下图所示,还有一些其他的细节,一些按钮,可以探究一下哦。



       3、两个分支的之间的切换

       intellij的右下角有git相关的信息,如下图所示。


       Git:xhf_buanch_test代表的是当前分支,一般情况下我们的当前分之是master。Local Branches:表示本地仓库中的分支,本地的分支都是从Remote Branches中checkout而来的,选择想要下载的远程分支,右键选择check out as new local branch,然后选择ok,在Local Branches中就会增加一个本地分支。


       但是分支之间怎么切换呢,提交代码的时候提交到的是哪个分支呢?

       当前分支是什么默认提交到的就是哪个分支,所以想要修改哪个分支,就切换到本地的哪个分支,但是在分支切换的时候会出现一些问题,为了避免这些问题的出现,最好保证如下点。

       3.1切换之前ctrl+k,确保没有未提交到本地仓库的文件

       3.2切换之前先更新,把这个分支更新为最新的code。

       然后选择Local Branches中的分支切换为当前分支。可能会出现如下问题,比如分支A_1和分支A_2 两个分支,当A_1中添加了一些文件,但是还没有commit的时候,这时候切换分支到A_2 , A_2中也会有A_1中未提交的文件。


       当有时候会出现从A_1分支切换到A_2分支上,需要merge,我们可以选择smart merge,当smart merge没有解决问题的时候,我们可以手动merge,merge result的结果,就是把这些文件放到你要切换到的分支上,所以最安全的方式是选择Merge这个按钮。

       accept Yours是接受A_1分支上的改变,Accept Theirs是接受A_2分支的改变。




       4、新建分支

       点击git框的new Branch,然后输入自己分支的名称,按照本公司的分支命名规则哦。然后会自动切换到当前分支,然后再push到远程仓库中。

       5、同步远程分支

       可能有人新建了远程分支,但是在本地上的Remote Branches中并没有远程分支,所以需要右键选择git fetch。

      6、merge远程分支。

A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master分支上的改动移到分支fb_xhf上,可以这样merge。

       6.1 转到master分支上,然后更新master最新更新。

       6.2 再转到fb_xhf上,然后在Local Branches中选择master分支,选择merge,这样就把本地的master merge到 本地仓库的fb_xhf上,然后再选择git push ,这样就把远程master merge到 fb_xhf上, 并会提示: Merged master to fb_xhf。


       7、文件恢复

       本地的文件修改后,想要恢复到本地git仓库上次的提交,可以右键选择git revert。

      8、 cherry pick

       就像摘樱桃一样,在changes列表中,可以看到其他分支提交的动态,如果想要把某次的变化放到当前分支上,可以右键选择cherry pick,这就是摘樱桃。

       9、如果不小心不应该merge的时候merge了,怎样退回到上一次状态?

       在changes中选中最新的提交,然后右键选择reset current branch to here。。然后弹框如下


       选择Hard会返回上一状态,其他的选项,可以看看哦。


       10、颜色变化

git 在未add到git管理的时候是褐色,add后的颜色是绿色,提交之后的颜色是正常色,有修改之后的颜色是蓝色。

       11、如何删除某些已经提交到本地git仓库和远程仓库上的内容呢?

       可以使用git命令:

        11.1  git rm -r --cached    File-or-FolderName    (ps:要删除的文件或目录, 本地git库缓存的文件.)
         11.2   git commit -m  "Removed folder from repository"  (ps:提交到本地)
         11.3  git push origin master (ps: 把删除提交到远程分支上.)

       在intellij中可以在执行完第一个步骤之后ctrl+K commit和push。

       12、intellij去除非代码提交

       修改 。gitignore文件,并提交到git上。如下修改

              /target
              /.idea
              *.iml
              *.ipr
              *.iws
              .idea
              */*.log
              */target/
              *.DS_Store
              *.classpath
              *.settings
              *.project

       扩展:git http://my.oschina.NET/pengfeix/blog/191897?p=1#OSC_h3_3  http://www.51itong.Net/git-commit-amend-commit-8551.html

       ps:如果测试的话,可以在github上测试,这样就省去了本地安装git服务端。

总结:

       git的博大精深还需要本公主多次研究和实践,还有很多功能木有用到。总结一下基本的使用和坑,算是抛砖引玉了。


### IntelliJ IDEAGit 操作指南 #### 1. 配置 Git 环境 为了能够在 IntelliJ IDEA 中顺利使用 Git 功能,首先需要确保已经下载并安装了本地 Git 客户端[^2]。 #### 2. 安装 Git 插件 如果尚未安装 Git 插件,则需按照以下流程完成安装: - 打开 IntelliJ IDEA 后进入 `File` -> `Settings` 菜单项; - 寻找并点击左侧列表里的 `Plugins` 选项卡; - 利用右上角搜索框输入 "Git" 关键词查找对应插件; - 单击目标插件后的 `Install` 键来启动安装程序;待其提示成功后记得重启软件以激活新功能[^3]。 #### 3. 初始化仓库或克隆现有项目 对于新建工程而言,可以通过 VCS 菜单项下的 “Enable Version Control Integration...” 来初始化一个新的 Git 库。而对于已有远端地址的情况,则推荐通过 `VCS` -> `Checkout from Version Control` -> `Git` 的方式快速拉取代码库至本地环境[^4]。 #### 4. 日常提交更改 当完成了部分工作想要保存当前进度时,可以借助右侧边栏中的 Changes 工具窗格查看所有未提交改动,并勾选要加入此次 commit 的文件/目录。接着填写描述性的 Commit Message 并按下 Ctrl+K 组合键(Mac 用户则是 Command+K),这会触发一次完整的提交动作[^1]。 ```bash git add . git commit -m "Your meaningful message here" ``` #### 5. 推送更新到远程服务器 每次做完本地提交之后都应及时同步给云端存储位置,防止数据丢失或其他成员无法获取最新版源码。此时只需简单调用 Push 对话框即可实现推送目的——即依次选取 `VCS` -> `Git` -> `Push` 或者直接按住 Shift 键两次唤起全局搜索界面再打入 push 字样也能达到相同效果。 ```bash git push origin main ``` #### 6. 创建与切换分支 面对不同需求场景往往需要用到多条平行发展的历史线程,也就是所谓的 Branches。创建新的分支可通过顶部菜单栏里 VCS 下的 `New Branch...` 子项轻松搞定;而要在各分支间自由穿梭则依靠于 Checkout Option 内部提供的 Switch 方式最为便捷。 ```bash # Create a new branch and switch to it git checkout -b feature/new-feature # Switch back to the main branch git checkout main ``` #### 7. 处理冲突解决合并请求 偶尔会出现多人协作期间遇到 Merge Conflicts 的状况,这时就需要仔细对比差异之处手动调整直至消除分歧点为止。IntelliJ 提供了一个图形化的 Conflict Resolver 可视化辅助工具帮助开发者更高效地处理这类棘手问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值