Windows下git的安装和使用
2015-3-7
目录
1. Git的安装 1
1.1. 下载安装 msysgit 1
2. Git 使用 7
2.1. 初始化仓库 7
2.2. 小试牛刀 添加/提交文件到仓库 7
2.3. 配置账号 10
2.4. 中文乱码 12
2.5. 远程仓库 12
1.1 安装
双击下载的文件
点击下一步 Next
点击下一步
根据自己情况,设置git 的安装目录。然后点击下一步。
选择高级,然后点击下一步
点击下一步
在 Adjusting your PATH environment 选择默认的即可。然后下一步
在这个地方,有2个概念。LF 和CRLF。
点击下一步,等待安装。
安装完成。点击 Finish 关闭。
到此,msysGit 已经安装结束。
接下来我们检验一下。在磁盘新建一个目录。例如 D:\git-Study
在这个目录里面点击右键,在右键菜单,会增加3个选项。
因为在这个目录下,还没有建立git仓库,所以只有这三项。
Git Init Here: 在当前目录初始化仓库
Git Gui:打开Git界面话的操作窗口
Git Bash:打开命令行界面。
接下来,看看如何初始化仓库。
我们可以使用两种方式初始化一个仓库。
为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
方式1:
在我们需要建立仓库的目录中(例如上面新建的目录中D:\git-Study),点击右键,在弹出的窗口中选择 “Git Init Here”.这样一个仓库就已经初始化好了。如下图。
方式2:
在我们需要建立仓库的目录中(例如上面新建的目录中D:\git-Study),点击右键,在弹出的窗口中选择 “Git Bash”.这将打开一个命令行窗口。在命令行窗口键入命令 git init 。这样一个仓库就已经初始化好了。如下图。
如果看不到 .git 目录,请打开查看隐藏文件。
通过命令窗口,我们可以看到,刚刚初始化的仓库是一个空的仓库
并且新建了一个默认分支:master。后面将讲述分支。
这里用到了几个概念: 工作区,暂存区,,版本库
(1)在仓库目录(D:\git-Study),添加一个文本文档。如 readme.txt
在命令行窗口,我们执行一下命令 git status .将会看到如下图的提示
接下来我们执行 git add 命令 ,说明 git add 命令是将文件添加到暂存区:
添加单个文件,使用: git add 目录名/文件名
添加多个文件,使用: git add 目录名/文件名 目录名/文件名 注:多个文件用空格隔开
添加所有文件,使用:git add –-all
注:如果想查看命令的使用说明,请在命令后添加 --help 例如:git add –help (两个中划线)
Windows 下使用此命令,会在浏览器中打开一个窗口,介绍此命令的使用说明。
(2)当我们使用 git add readme.txt 后,文件readme.txt将被添加到暂存区。
我们使用 git status 命令查看一下现在的状态
可以看到文件readme.txt已经被添加到暂存区,绿色标识。下面的text.txt 是新建的文件,还没有添加到暂存区。Text.txt 还在工作区
(3)根据上面第(2)步的提示,我们试试 git rm –cached
执行命令 git rm –cached readme.txt
然后执行命令 git status 查看现在的状态
(4)跳过第(3)步,从第(2)步开始执行命令 commit
首先先把从第(3)步撤回到工作去的文件,添加到暂存区。使用 git add 命令
如:git add readme.txt
执行 add 操作没人任何提示。PS: Unix的哲学是“没有消息就是好消息”。
这是你用 git status 查看状态时,会和第(2)步中的图是一样一样的(PS:每当打入这两个字,我都会想起小沈阳)。
接下来我们执行 commit 操作,这个操作,是把添加文件这个操作,添加到仓库中。
git commit –m “注释”
执行完上述命令(commit)后,请运行 git status 命令,你会发现,暂存区的文件并没有添加版本库中,依然还在暂存区中。
在上面2.2测试提交文件到仓库,文件并没有成功提交到版本库。如果你在网上看其他的git入门教程时,在初始化仓库时要设置 name 和 email .回想上面,我们没有涉及到,所以在2.2的第(4)步没有提交成功。因为git 并不知道你是谁。接下来,我们设置name 和 email
在上面第(4)步,提示我们使用 git config 命令设置。
每个仓库都可有自己的配置
运行命令
git config user.name “username”
git config user.email “your_email@example.com”
因为没有加—global ,此name 和email 是属于这个仓库的,不属于本计算机里面的其他仓库。
使用EditPlus或其他文本工具(不用用记事本)打开本目录git中配置文件 .git/config,你会发现刚设置的name 和 email 都记录在了此文件中。
如果想使此计算机所有仓库公用一个 name 和 email ,请使用 –global 设置为全局参数, 用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置
全局配置:
git config --global user.name “lyz”
git config --global user.email lyz@example.com
使用全局配置后,参数会保存在用户主目录下的 .gitconfig 文件中
例如我的用户主目录是:C:\Users\lyz
用 EditPlus打开.gitconfig 文件,会看到全局配置
这是我上面设置的全局的name 和 email
使用Windows的童鞋要特别注意:
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!
现在回到2.2中的第(4)步,我们有个文件还在暂存中呢。
接下来我们执行commit命令:
如图所示,暂存区的文件已经提交到了版本库,工作区的文件text.txt没有提交,因为文件text.txt文件还在工作区。Commit 命令是把暂存区中的操作提交到版本库。(是操作,不是文件。这个操作是添加了一个readme.txt文件)
注意,上面图中,有一个警告:warning .大概意思是不支持文件编码。
1、 Git Bash 中输入 ls 命令,可以正常显示中文文件名:
修改%Gi%t\etc\git-completion.bash,如果没有则在末尾添加下面一行:
alias ls='ls --show-control-chars --color=auto'
2、 git status 中,中文文件名显示乱码
修改%Gi%t\etc\gitconfig
在[core] 中,添加 quotepath = false
获取远程仓库的数据,使用git clone命令。链接远程仓库可以使用https或者ssh。
下面以git.oschina.net上的远程仓库gitStudy为例:
ssh: git@git.oschina.net:jinmaodao/gitStudy.git
在要存储的目录,使用以下命令
或者
Git clone git@git.oschina.net:jinmaodao/gitStudy.git
在windows下使用https链接git.oschina.net,每次操作会提示你输入git.oschina.net上的账号和密码。为了避免每次输入账号密码,我们可以使用ssh进行链接。
第1步:创建SSH Key。在用户主目录下(我的为C:\Users\lyz),看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
命令:
第2步:登陆git.oschina.net,打开“个人资料”,“SSH 公钥”页面:
地址:http://git.oschina.net/profile/sshkeys
然后,在“公钥”文本框里粘贴id_rsa.pub文件的内容,点击“确定”进行保存。
本文来源:https://www.2haoxitong.net/k/doc/0c479e141eb91a37f1115c7b.html
文档为doc格式