那,背景是这样的:有个库,每天会定时有1-2次提交,积累下来,一个Git拉回本地有一百多兆。实际文件很小,所以打算清除下提交历史,加速拉回。

那么问题来了,怎么玩儿呢?费劲的方法就不说了,浩哥指了条明路:

假定原有的远程仓库为A,操作分为四步:

  1. 新建另一个远程仓库,命名[……]

Read more

有个功能需要默认本机的Git账户和密码,如何实现呢?方法如下:
首先执行:

git config --global credential.helper store

实现Git使用本地验证文件。

Linux执行:

echo "http://账户:密码@IP%3a端口"[......]

Read more

Git工具很常用,如果想免密,那公钥就是必须的,如何生成呢?方法如下:

ssh-keygen

执行后会要求你确认路径以及公钥密码,默认就全部回车即可。

然后将公钥的内容

cat ~/.ssh/id_rsa.pub

拷贝到Git的网站中即可实现免密。

参考资料:https://gi[……]

Read more

Git有特殊需求,要用代理拉代码,惯性思维是用Linux的export http_proxy,然后会发现不管用。

正确的方法是使用Git的config设置代码,示例指令:

git config --global http.proxy http://127.0.0.1:1080git co[......]

Read more

提交不少,发现某次提交引入了BUG,当时没发现,如何撤销提交呢?优雅的办法是:

git revert commit_id

如果commit_id是merge节点的话,-m是指定具体哪个提交点

git revert commit_id -m 1

然后解决冲突后提交即可。

参考资料:
G[……]

Read more

一般这个情况是本机公钥重置造成的问题,使用如下指令生成公钥(如果没有公钥的话):

ssh-keygen -t rsa -C "git@ip"

然后复制公钥

~/.ssh/id_rsa.pub

添加到仓库的Access keys里,即可正常访问。[……]

Read more

呐,其实有些特别的Git,是只有一个master分支的,所以推送就可以直接用如下指令实现推送:

git push origin master

如果当前分支只有一个追踪分支,那么主机名都可以省略和分支都可以省略。

git push[......]

Read more

以下代码,实现了强制拉取remote更新到本地,无视本地任何修改~

git fetch --all  git reset --hard origin/master git pull

以上内容摘录自:Git pull 强制覆盖本地文件[……]

Read more