Github使用一补充

 

这篇对上一篇做个补充:

1.操作环境: windows 7 + Git 1.7.6

2.GitHub : 简介 -> [ http://zh.wikipedia.org/zh/GitHub ]

3.使用 GitHub 托管你的开源项目只需你熟悉简单的 Git 命令行即可。

 

第一步:在本机上操作
1)安装 Git 客户端:如何安装不同操作系统的 Git  客户端,参见:http://help.github.com/win-set-up-git/

2)打开 Git Bash,开始键入各种配置信息:

 git config --global user.name "You Name"
git config --global user.email yourmail@server.com

 这里的配置信息中的用户名和用户邮箱,在后面 GitHub 中会用到,尽力准确配置,不要用 test or test@mail.com 等等的测试数据去配置。

3)安装Git,也可以参考这个:

 安装git程序,执行下面操作
$ cd ~/.ssh    //检查计算机ssh密钥
如果没有提示:No such file or directory 说明你不是第一次使用git,执行下面的操作,清理原有ssh密钥
 $ ls
 config id_rsa id_rsa.pub known_hosts
 $ mkdir key_backup
 $ cp id_rsa* key_backup
 $ rm id_rsa*


获得密钥:
ssh-keygen -t rsa -C "defnngj@gmail.com"  //填写email地址,然后一直“回车”ok

注意: 此处的邮箱地址,你可以输入自己的邮箱地址。在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。


打开本地..\.ssh\id_rsa.pub文件。此文件里面内容为刚才生成的密钥。

登陆github系统。点击右上角的 Account Settings --->SSH Public keys ---> add another public keys
把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了

接着打开git ,测试连接是否成功
$ ssh -T git@github.com
如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了

设置用户信息:
$ git config --global user.name "defnngj"   //给自己起个用户名
$ git config --globla user.email  "defnngj@gmail.com"   //填写自己的邮箱

在github中找到 Account Settings--->Account Admin ,找到一下信息:
Your API token is e97279836f0d415a3954c1193dba522f ---keep it secret! Changing your password will
generate a new token
$ git config --global github.user defnngj      //github 上的用户名
$ git config --globla github.token e97279836f0d415a3954c1193dba522f

 

 

第二步:注册 GitHub,配置相关信息


1)成功注册 GitHub 帐号后,创建 GitHub SSH密匙,Git Bash 下键入命令:

ssh-keygen -C 'yourmail@server.com' -t rsa

这里使用的email地址是你注册Git时使用的email地址。 这里基本上也一路enter就好了,中间会有一步提示你输入 passphrase, 就是密码或者通行码,可以随便编一个或者直接回车,为空就好。之后窗口会显示生成的rsa文件存放的位置。如果是在XP系统上,位置应该是 “C:\Documents and Settings\username\.ssh\”; 如果是在Win7系统上,位置应该是  “C:\Users\username\.ssh”。

 

然后会在 C:User你的windows用户名.ssh 下找到 id_rsa.pub 文件(我的路径是这里:C:\Users\song\.ssh,也是默认的路径,你可以修改,这个路径下有2个文件:id_rsa:本地的key, id_rsa.pub:服务器的key,这2个文件是匹配的,必须对应)


笔者操作系统 windows 7 英文版,其他版本的 windows 系统可能路径略有不同。
.ssh 文件夹下同时有 id_rsa 和 id_rsa.pub 文件(注意在开启后缀名的情况下),id_rsa 是置于本地机器的密钥,用于匹配置于服务器端的密钥文件 id_rsa.pub,这样才能建立 SSH  连接。


备注:生成密钥其实还有一种办法,如果你使用eclipse开发的话(有些人用Intellij或者其它的我暂时不知道),可以这样:

在Eclipse中生public key, 并添加到GitHub Repository中。
Eclipse中通过:performance -> SSH2 -> Key Management -> Gernerate RSA Key 生成 SSH 的 public key,然后一定要记得点击下面的Set Private Key,这样才能保存到本地,否则只是生成,却不保存在本地,等于没用。
在GitHub中通过:edit your profile -> ssh key -> Add SSH Key 添加SSH Key, 把上面生成的 public key 拷贝到这里,保存。


2)回到 GitHub 个人首页,点击 Account Settings -> SSH Public Keys -> Add another public key。title 可以随便取名字,Key 里面添加的内容为 id_rsa.pub 文件内所有的代码。然后点击 Apply 即可。


测试与 GitHub 是否连接成功:SSH -v git@github.com

 

3)可以在 GitHub 上添加第一个 Git 仓库 ,配置项目名称和相关信息。
如何在 GitHub 上添加 Git 仓库参见: http://help.github.com/create-a-repo/

4)在本地创建项目文件,在 Bash 下键入一下代码:


mkdir test
cd test
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:youusername/test.git
git push -u origin master


推送成功后,就可以在 GitHub 上看到 push 上去的项目文件了。


上面都是准备工作,一次完成,以后就不用设置了。下面内容才是亮点。

 

下面是一些有用的内容:


1.先来说说git下常用的几个基本操作,和linux系统的操作是一样一样的:

$ ls   查看当前目录的内容

$ cd  /d   切换到d盘

$ cd  java/   打开当前目录下的java目录

$ cd  j(table键)  如果当你想打开java目录且当前目录下只有一个j开头的目录,输入J 然后按键盘上的table键,会自动帮你补齐。

$ cd ..  返回上一级目录

 

2.假如你现在新创建了一个项目,想把它提交到github上面?

 

假设你创建好了一个项目,并切换到项目的根目录下面:

$ 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

//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。

Psorigin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。

$ git remote -v  //查看你当前项目远程连接的是哪个仓库地址。

$ git push -u origin master  //将本地的项目提交到远程仓库中。

 

 ------------------------------------------------------------

3.假如,你回到了家,想把公司提交的项目克隆到本地?

 

如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。

$ git clone git@github.com:defnngj/hibernate-demo.git  //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。

 

假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?

$ git fetch origin    //取得远程更新,这里可以看做是准备要取了

$ git merge origin/master  //把更新的内容合并到本地分支/master

 

------------------------------------------- 

4.项目中删除了一些文件,如何提交?

 

假如远程仓库中已经存了aaa这个文件,我fetch了下来,并删除了aaa这个文件,想再push上到远程仓库中,并使远程仓库中的项目被新的修改覆盖(也是是远程仓库中的aaa也被删除)

$ git status   //可以看到我们删除的哪些文件

$ git add .   //删除之后的文件提交git管理。

$ git rm   src/com/hzh/hibernate/dao/aaa.java    //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。

Ps: 如果你想删除的是某个目录(java包),这里想移除整个目录的内容。

$ git rm  src/com/hzh/hibernate/bbb/ -r   // -r 会把bbb/目录下的所有内容一次性移动。

 

------------------------------------------------------------------------

5.远程创建了一个新仓库,本地创建了一个新项目,如何使新的项目与仓库对应起来?

 

其实,这个也很简单,只是我当时对那些命令不太理解,所以比较模糊,不知如何对应。

 

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//还是这个命令,在你push项目之前加上这一句就OK了。

git@github.com:defnngj/hibernate-demo.git 就是你常见的新仓库的地址啊。git切换到新项目下,在push之前,加上这一句,我们创建的新仓库就与新项目建立了连接。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值