在Windows上安装Git
实话实说,Windows是最烂的开发平台,如果不是开发Windows游戏或者在IE里调试页面,一般不推荐用Windows。不过,既然已经上了微软的贼船,也是有办法安装Git的。
Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Git也一样。Cygwin的安装和配置都比较复杂,就不建议你折腾了。不过,有高人已经把模拟环境和Git都打包好了,名叫msysgit,只需要下载一个单独的exe安装程序,其他什么也不用装,绝对好用。
msysgit是Windows版的Git,从下载(网速慢的同学请移步),然后按默认选项安装即可。
安装完成后,在开始菜单里找到“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地址。
设置SSH Key
在git bash中运行下面的命令创建SSH Key
$ ssh -keygen -t rsa -C "your_email@example.com"Generating public/private rsa key pair.Enter fill in which to save the key(/Users/your_user_directory/.ssh/id_rsa): 按回车键Enter passphrase (empty for no passphrase): 输入密码Enter same passphrase again: 再次输入密码
成功结果如下:
Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:cf:63:ac:28:60:4a:00:15:29:0c:8e:b6:d7:19:10:47 wuzhiyi51@gmail.comThe key's randomart image is:+--[ RSA 2048]----+|+.o=oE ||=.. o ||o+ . ||o . . o ||.. . o S || .+ + ||.o . * ||. . . o . || .. . |+-----------------+
最后得到了两个文件:id_rsa和id_rsa.pub ,id_rsa为私人秘钥,id_rsa.pub为公钥。
在GitHub上面注册用户并且在
点击右上角-》Settings
查看创建好的SSHKey文件
[root ~]# cd ~/.ssh/ id_rsa id_rsa.pub known_hosts [root ~]# cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyFWY3VgY8D4IDqQKOCW3bTovL7cZunWaCIl69A16POCJIpNSymEZw2wUYfGdvwmX93kp4xEqPK9/rX30duLfRWgMNV8/YE6AGZo90YXfMmti/OXHvnTrHI82LgiabX6UH1QfXQhSAtq3AHWc4KIu/0HcZUYBgTalmpNlmsol7dgTpwMQPriwNdE65dc0ZeHUxY3cHNI+v5lXjSYlRBaoJnowY5qim4ld4hH2QGYNQ+GuzPXtCkBIbkG+uiADKrDyPVGOgjbC7To4BsKoIO2/0NkRCV0/G01kL393oWmhhIlk/OhhJZ5Z6QnC1EubX/e9n0lglbdXo7St8WjT4/3qtQ== wuzhiyi51@gmail.com将SSHKey文件复制添加到GitHub上的SSH keys即可
:ssh git@github.com
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts. ERROR: Hi tekkub! You’ve successfully authenticated, but GitHub does not provide shell access Connection to github.com closed.Access denied
有时候在git push 时会出现一个error:
Access denied.
fatal: The remote end hung up unexpectedly这是因为没有生成ssh-key, 或者ssh-key不对,重新生成添加即可。
用命令将本地文件上传
1.获取源码:
$ git clone git@github.com:billyanyteen/github-services.git
2.这样你的机器上就有一个repo了。
3.git于svn所不同的是git是分布式的,没有服务器概念。所有的人的机器上都有一个repo,每次提交都是给自己机器的repo1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m 'first commit'
4、关联到远程库
git remote add origin 你的远程库地址
如:
git remote add origin https://github.com/cade8800/ionic-demo.git
5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
7、状态查询命令
git status
补充:
添加远端repo:$ git remote add upstream git://github.com/pjhyett/github-services.git
重命名远端repo:
$ git://github.com/pjhyett/github-services.git为“upstream”