Git简记

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

 

 

 

 

 

 

 

 

你可能感兴趣的:(git)