Git (GitHub) 合集
1 下载 GitHub 上的代码
1.1 下载一个单独的文件1
N/A
1.2 下载一个项目的子文件夹2
以下载 “web-serial” 这个文件夹为例。
它的链接为:
https://github.com/RDpWTeHM/RaspberryPi/tree/master/web-serial
这是 GitHub ID -> RDpWTeHM
用户的 Repo -> RaspberryPi
下的一个文件夹 -> web-serial
为了将这个 web-serial
文件夹单独下载下来,而不下载 RaspberryPi
项目下的其它文件夹,将原本的文件夹在浏览器的 url:
https://github.com/RDpWTeHM/RaspberryPi/tree/master/web-serial
更换为
https://github.com/RDpWTeHM/RaspberryPi/trunk/web-serial
(即,将 /tree/master/
换为 /trunk/
)
然后使用 svn 即可下载下来:
$ svn export https://github.com/RDpWTeHM/RaspberryPi/trunk/web-serial
在 windows 上使用 svn export 也可同样下载下来(windows 平台如果是 TortoiseSVN,安装过程中要选中安装 svn 命令行支持)。
2 patch
2.1 如何让多次 git 的提交作为一个补丁输出?
Q:
可能我说的不准确,我把我现在的解决方法说一下
- 创建新分支(设原分支为 master)
git checkout -b dev - 进行多次提交
git commit * N times - 从 master 再创建一个分支
git checkout master && git checkout -b release - 用 squash 命令 git merge dev --squash
并且编辑一下 comment - 用 git format-patch 导出补丁
- 补丁被认可后,删掉 dev,release 分支
我觉得我的方法很麻烦,请问大家建议我怎么做?
A:
如果本身就想把这几个提交合并的话,可以:
- 使用 git rebase -i [这几个提交之前提交的ID]
- 把需合并的第一个提交前面的 pick 改成 reword
- 其他提交前面的 pick 改成 squash
这样修改注释、合并提交就一并完成了。 再正常 format-patch 即可。
3 使用代理
3.1 使用代理 clone
假设是本机电脑上开了代理。
代理配置为: 127.0.0.1:47729
(即 localhost:47729
)
那么可以通过代理来 clone
$ git -c "http.proxy=localhost:47729" clone \
https://github.com/<USER>/<REPO>.git