1. 如何在GitHub上下载资源?
有2种方法:
(1)直接在WebBrowser中下载。
比如要下载 https://github.com/numbbbbb/progit-zh-pdf-epub-mobi 下的Pro Git电子书,在 该URL的右下角处,有 “Download ZIP” 按钮,点此可直接下载该Repository下的所有文件。
(2)使用GitHub for Windows客户端下载
a)首先要下载GitHub for Windows并安装啦(download url: http://windows.github.com/)。安装过程中,会提示安装.NET FRAMEWORK 4.5.1。安装即可,安装过程需要较长一段时间,安装完后需重启电脑。
安装完成后,会在桌面生成2个快捷方式:GitHub 和 Git Shell。
点击GitHub, 并登陆。登陆进去后,点击窗口顶端的 Tools->Options.
在"default storge directory"中可以配置你想要下载的文件的 存放目录,这里我选择了E:\GitHub 目录。
在"default shell" 中选择默认的 shell 工具。这里我保留默认值 PowerShell。
修改完成后,点击左下角的 "Update" 保存设置。
b)搜索git.exe的路径,将路径添加到环境变量path里面。我的是在 C:\Program Files (x86)\Git\bin 下面。
c)运行git shell,它默认打开的是Window系统自带的 PowerShell 命令行工具。
d)运行git clone命令:
E:\GitHub> git clone https://github.com/numbbbbb/progit-zh-pdf-epub-mobi
e)下载完成后,在E:\GitHub 目录可以找到刚下载的progit-zh-pdf-epub-mobi 文件夹。
2. git 协议的 url 无法clone
当使用git clone命令来下载git协议的url时,在我本机会出现如下的错误:
$ git clone git://github.com/schacon/grit.git Cloning into 'grit'... fatal: unable to connect to github.com: github.com[0: 192.30.252.131]: errno=No error
答案见这里:http://stackoverflow.com/questions/16298986/unable-to-connect-to-github-com-for-cloning
这是由于防火墙导致的,Git协议要求防火墙开放 9418 端口,而企业级防火墙一般不允许对这个非标准端口的访问。大型企业级防火墙通常会封锁这个少见的端口 (参见ProGit-Chapter4-Section4.1)。
将git 协议换为 https,就可以了。
$ git clone https://github.com/schacon/grit.git
也可以参考 http://blog.csdn.net/greenqingqingws/article/details/11808745 中的做法,修改.gitconfig设置:
git config --global url."https://".insteadOf "git://"
在.gitconfig文件中添加了
[url "https://"] insteadOf = git://
3. 使用 git diff 命令后如何退出?
使用git diff命令后,git bash一直显示比较文件的页面,怎么退出来呢?
输入 q 就可以退出了。
4. 如何向 Git Bash 中复制内容?
Git Bash中不能直接粘贴内容。可以可以在Git Bash的窗口中点右键->Edit->Paste.
也可以直接按 Insert键,来直接粘贴。
5. 如何配置,在向Github去 git push 时不用输入用户名密码?
(ref: http://zipperary.com/2013/05/26/ssh-errors-with-github/)
(1)添加环境变量
可以配置用户变量,而不是系统变量。New-> Variable Name: HOME;Variable Value:%USERPROFILE%
(2)在用户文件夹如C:\Users\zhangsan下新建一个名为_netrc的文件。 并添加如下内容
machine github.com
login zhangsan
password 123456
6. .gitignore过滤原则
(1)如何过滤文件夹
/ipch/ 表示过滤这个文件夹
但是这种方法有个缺点:只能过滤当前目录下的子目录,而不能过滤子目录下的子子目录。
(2)如何过滤所有的文件夹?
myfolder/*/ 跟踪“myfolder”目录下的所有文件,但是忽略所有文件夹,因为有个“/”在最后面。
参考:http://imtx.me/archives/1416.html