廖雪峰的官方网站,很适合新手的,并且很详细很简单教学材料。
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
摘抄了关键部分:
1、安装
- 安装msysgit下载地址,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!,
安装完成后,还需要最后一步设置,在命令行输入:
$ git config
--global
user.name “Your Name”$ git config
--global
user.email “email@example.com”
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
2、创建版本库
确定创建版本库的位置,并创建好相应文件夹,在当前文件夹下右键选择“git bash here”打开命令窗口,
输入以下内容:
$ git init
Initialized empty Git repository in G:/GitRepositories/okHttpDemo/.git/
这样一句命令,仓库就建好了,文件夹内多了一个.git的文件夹。
3、提交文件
在建好的仓库文件夹内创建一个txt文件,不要用windows自还的文本编辑器,具说有很多坑。创建好了,执行以下命令将文本添加到版本控制中。
1.查看一个文件修改内容:
$ git diff readme.txt
2.添加单个文件
$ git add readme.txt
3.添加所有更改
$ git add
--a
4.commit提交之前撤销git add
$ git reset <文件名>
5.撤销所有暂存区修改
$ git reset
6.再执行以下命令提交到仓库
$ git commit -m “wrote a readme file”
7.提交更改到远程仓库
$ git push -u origin master
4、从远程仓库克隆
完成第1步,安装完成,启动git Bash窗口,执行以下一句命令即可克隆远程仓库,以我一个git项目为例。
$ git clone git@github.com:luodengzhong/okHttpDemo.git
命令很快执行完毕,本地已经创建了okHttpDemo项目,该项目用Eclipse开发,直接导入后即可运行。只要掌握这一条命令,github中的所有项目都可以被克隆下来了,就冲这一点,呵呵git就是如此强大!
5、提交代码到远程仓库
从远程仓库克隆下来后,就只能在本地阅读,修改代码只能提交在本地仓库里,如果要想把修改后的代码提交以远程仓库,那还有两个手续需要办。
- 创建SSH Key。
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:
$ ssh-keygen -t rsa -C “youremail@example.com”
把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,我们自己使用无需设置密码。ssh key创建完成后,在打印的日志里输出了,创建的文件所在位置,在该可看到id_rsa和id_rsa.pub两个文件,用文本工具打开id_rsa.pub文件,这里是ssh key公钥,是要交给远程仓库的。
- 添加ssh key到github
如果自己有github帐号,登录github。
按以上操作,把上在拷贝的公钥内容,粘贴到④所指位置,点击“Add key”按钮后显示以下界面表示我们公钥已经加入到github帐号里面。以后我们就可以对该帐号下的项目进行修改提交远程仓库了。
经过前面的操作,我已经在本地建立了git仓库了,我现在如何能把本地仓库的内容提交到远程呢?
- 首先,在远程仓库上建立项目,名称与本地仓库一致。
- 在本地仓库目录下打开Git Bash 并执行以下命令
$ git remote add origin git@github.com:yourgitaccount/yourprojectname.git
与远程仓库建立关联后,把本地仓库内容推送到远程仓库中
$ git push -u origin master
SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
打开github项目,是不是看到推送上去的内容了。
至此,完成了git安装,本地仓库的创建,代码提交,与远程仓库建立连接,提交本地代码。
6、克隆分支代码
我想下载spring-framework 3.1.x版本源码,我已经fork到我自己的帐号了。
$ git clone -b 3.1.x git@github.com:luodengzhong/spring-framework.git
7、从远程仓库覆盖更新
git fetch
--all
git reset--hard
origin/master
6、版本管理
1、整个项目版本回退,HEAD^表示当前版本前一个版本;当前版本前100个版本用HEAD~100表示
git reset –hard HEAD^
2、更新单个文件到某个版本,一长串字符指的是版本号,注意文件名要包含路径。
$ git reset a4e215234aa4927c85693dca7b68e9976948a35e readme.txt
3、更新代码
git pull origin master