Win7 x64 下的Git入门记录
不在状态。看来实在不能熬夜。
从下午开始在win7(64位)下捣鼓git(使用的是"PortableGit-1.8.4-preview20130916"解压就能用),历经***@¥%#@¥…终于搞定。过程如下:
1.首先在github网站的自己的账户建立一个公共仓库(就是网上其他人也可以看到,也可建立私有的,收费)(若没有账号可注册一个GitHub账号,地址:https://github.com/,注册后执行1.)
2.之后会出现创建完成的界面,如下:
3.在你解压后的文件夹中打开git-bash.bat,MINGW32便运行了。
①先把公钥送到服务器,否则无法通信。【①②③④为设置SSH Key】
$ ssh-keygen 之后会依次出现3次提示,等待输入,3次均回车即可
②去用户主目录下(即c/user/你的用户名/.ssh),打开id_rsa.pub文件,拷贝其中内容(就是我们要的key)。
③到github网站你的账户中设置公钥
④这样客户端就可以和github通信了,可以测试下:
$ ssh git@github.com 然后 yes
⑤设置用户名和email:
$ git config --global user.name "你的github账户名"
$ git config --global user.email "你的github邮箱地址"
4.准备阶段完成,进行实际的项目创建、提交等
①在本地创建项目文件夹(如果已经有项目,可直接cd进入,略过此部)
$ mkdir 文件夹名字
$ cd 文件夹名字
②用命令行touch或者直接新建文件
$ touch 文件名
③本地仓库初始化,本地生成.git文件夹
$ git init
④添加任务(生成快照并存入项目索引)
$ git add 文件名
⑤本地提交到当前代码库(项目索引提交)
$ git commit -m "first commit"
⑥以上操作均在本地完成,然后把本地库和github网站上的远程库进行关联
$ git remote add origin SSH地址(第2步中你的远程仓库地址)
⑦推送本地库到远程仓库
$ git push -u origin master
5.登陆远程仓库,查看已经有了,OK,搞定。
忙一下午就为了这张图--
*************************************************************************
之前出现的问题:
最后一步提交代码到github仓库 git push origin master 后:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions 0644 for
> '/h/Users/Tim/.ssh/id_rsa' are too
> open. It is recommended that your
> private key files are NOT accessible
> by others. This private key will be
> ignored. bad permissions: ignore key:
> /h/Users/Tim/.ssh/id_rsa Permission
> denied (publickey).
chmod命令无效,google后原来是Cygwin64的原因(但具体是什么原理还不懂),解决办法就是:
删除windows环境变量中的CYGWIN,只知道git使用的mingw32会把所有文档当做644权限,文件夹755权限,(比较奇怪啊)网址如下:
****************************以下为补充内容*******************************
第一次push的时候,git push -u origin master的-u参数代表记住origin master,这样以后只有直接使用git push即可,很方便。
Github上的是本地的一份镜像,本地修改完毕后需要推送过去。多人协作时可以先克隆下来,然后每人在本地都有一份完整拷贝,修改后进行推送。
.ssh 目录中两个文件 id_rsa 和 id_rsa.pub,其中 id_rsa 是私钥,一定不要共享给别人;id_rsa.pub 是公钥,里面的内容复制到“个人资料”“SSH 密钥”“添加新密钥”里面。这样就完成了 SSH Key 的生成和授权。
**************************************************************************
其他解释:
假设你创建好了一个项目,并切换到项目的根目录下面:
- $ git status //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
- $ git add . //(.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。
- Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。
- $ git commit –m”new natter ” //对你更新或修改了哪些内容做一个描述。
- $ git remote add origin git@github.com:defnngj/hibernate-demo.git
- //如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。
- Ps: origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。
- $ git remote -v //查看你当前项目远程连接的是哪个仓库地址。
- $ git push -u origin master //将本地的项目提交到远程仓库中。
来源: <http://blog.csdn.net/johnnywww/article/details/8667168>