文章标签 » git

git/GitHub 如何使用代理?

前提

首先得有个代理服务

YOUR_PROXY_SERVER_IP # 代理服务IP
PORT # 代理服务端口

背景

众所周知的原因,GitHub总是连接超时。IDE(GoLand)、命令行、GitHub桌面版,都试了,都不行。

多提一句,这样也是不行的。虽然不理解,但接受现实:

  1. 手机开VPN
  2. 电脑连接手机热点(以前以为热点的请求都是通过手机发出去的,现在看来不是这么回事)

使用代理

GoLand,通过【设置】添加代理,“测试连接”时是通的,但 push/pull 还是失败。

通过命令行设置系统的代理,然后再 push 也是不行。

最后,居然是设置 git 的代理属性就解决了。

git config --global http.proxy protocol://YOUR_PROXY_SERVER_IP:PORT

执行之后,不管是 GoLand,还是命令行,还是GitHub桌面版,都行了!

IntelliJ IDEA 使用技巧:如何使用 git cherry-pick 合并指定改动?

突然要用下 git cherry-pick 的功能(不常用),居然忘记怎么用了,试了几次都不对,有点慌。记得上次很轻松就做到了,但现在想不起来怎么做的了。可能是忙了一天了,头昏脑涨,脑力、注意力都所剩无几了,又有点着急,更记不起来了。

没办法,只能求助于网络了。搜索结果第一个就是阮一峰的博客(见文末链接),当然点进去看看,看到 git checkout master 的时候,一个回闪,想起来上次是怎么操作的了:对,你要改变哪个分支,就要在哪个分支上进行操作!

为了避免再次遇到这种情况,决定记录一下。(第n+1次感叹:记忆果然不可靠啊!)

有 master 和 cherry-pick-demo 两个分支,它们各自的commit如下图所示:

branch-master

master 分支提交记录

branch-cherry-pick

cherry-pick-demo 分支提交记录

 

现需要将 cp2 的改动合并到 master 分支上。

首先,切换到 master 分支(注意:要合并到哪个分支,就切换到哪个分支在这个分支上操作!)。

通过 git 窗口,找到 Branch – Local – cherry-pick-demo(如下图所示),这样就可以看到 cherry-pick-demo 分支上的提交记录。

branch-cherry-pick-demo

当前分支为 master 时,找到 cherry-pick-demo 分支

 

在 cp2 上,右键 – Cherry-Pick(如下图所示),根据自己的需要(可修改备注等),提交。

执行 git cherry-pick 操作

执行 git cherry-pick 操作

 

这时候,再看master分支的提交记录,搞定!就是如此简单!

cherry-pick 之后,master 分支的提交记录

cherry-pick 之后,master 分支的提交记录

 

可能JetBrains的全家桶都这样吧,至少GoLand也是这样的。

相关链接

git | IDEA 中如何压缩提交(压缩commit后再push 图文演示)

关键字/keyword: rebase, fixup

最近在读《重构》,作者建议“小步快走”,即每完成一个“小”功能就提交(commit)一下。 这样会有一个小问题:提交记录中会有很多无意义的提交。

当然多个小提交本身不会造成什么问题或bug,但会显得繁琐无重点。VCS工具(如git)提供了一种合并提交的功能:rebase + fixup。 Continue Reading »

Git/EGit | reset 和 revert 的区别(Eclipse 图文)

git的世界里有后悔药吗?

有的。不仅有,还不止一种:Reset 和 Revert。它们有什么区别呢?先说结论吧。

Reset Revert
作用 将某个commit之后的push全部回滚 将某个指定的commit回滚
历史记录(轨迹)
是否可作用于单个文件 否(都是作用于commit,与文件无关)

下面来说说具体例子。

Continue Reading »

Eclipse | 同步时报 cannot open git-upload-pack(已解决)

在 Eclipse 中使用 egit 同步 GitHub 上的代码时报错:

网上翻了下,原来加一个配置就行了。

https://github.com/YoungZHU/CollectionCode4Java.git: cannot open git-upload-pack

打开 Eclipse,在工具栏中依次点开 Windows–>Preferences–>Team–>Git–>Configuration–>User Settings,然后点 Add Entry 新建一个键值对,
Key http.sslVerify
Value false

如图:

Eclipse配置截图