标签 git 下的文章

某些情况下,我们需要通过代理才能访问特定网络环境下的git资源,git支持代理配置, 支持 http(s), SOCKS4/SOCKS5.

HTTP(S)

HTTP 代理配置格式如下:

git config --global http.proxy http://[proxy]:[port]

实际环境下, 其实我们大多数情况下,并不需要全部git资源都需要通过代理访问, 仅仅某些特定的git库需要通过代理设置,针对特定域名的代理配置就更有实际意义.

git config --global http.[URL].proxy  http://[proxy]:[port]

- 阅读剩余部分 -

在 Git 上工作的时候,你也许会由于某种原因想要修订你的提交历史。Git 的一个卓越之处就是它允许你在最后可能的时刻再作决定。你可以在你即将提交暂存区时决定什么文件归入哪一次提交,你可以使用 stash 命令来决定你暂时搁置的工作,你可以重写已经发生的提交以使它们看起来是另外一种样子。这个包括改变提交的次序、改变说明或者修改提交中包含的文件,将提交归并、拆分或者完全删除——这一切在你尚未开始将你的工作和别人共享前都是可以的。

- 阅读剩余部分 -

git操作一般都支持两种协议:ssh/http(s), 默认情况下, 不管使哪种协议在进行git操作都将输入用户名和密码,这将导致整个使用体验非常差。我们希望仅仅输入一次用户名和密码, 甚至一次也不用输入。

在进行任何配置之前, 我们需要定义我们使用哪个用户和git代码库交互。使用git config配置用户名和邮箱信息,如果你仅仅是用于当前工作目录,去掉 --global 选项,将仅在当前代码库生效。

git config --global user.email "xxx@xxx.com"
git config --global user.user"xxx"

设置git长期存储密码

git config --global credential.helper store

- 阅读剩余部分 -

本地修改了一堆文件,没有git add到暂存区时, 如果需要撤销修改, 可以参考下述操作:

单个文件/文件夹

$ git checkout -- filename

所有文件/文件夹

$ git checkout .

本地新增了一堆文件,没有git add到暂存区, 如果需要去掉新增文件:

单个文件/文件夹

$ rm filename / rm dir -rf

所有文件/文件夹

$ git clean -xdf

- 阅读剩余部分 -