【git系列】获取项目的git仓库-2

一、得到本地仓库

完成了基本的安装和配置之后,下面我们就开始来使用了。

有两种取得 Git 项目仓库的方法:

1、在本地项目工作目录中初始化新仓库

要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:

git init

例如,如果现在有一个TestDemo项目,我们我们需要执行下面命令:

cd TestDemo
git init

初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。这样我们就可以对我们当前的这个TestDemo项目来使用git进行管理了。

2、从已有远程仓库克隆

可以先把远程仓库中的项目的 Git 仓库复制一份到本地,这就需要用到 git clone 命令。服务器上有的数据克隆之后本地也都有了。

克隆仓库的命令格式为 git clone [url]。例如:

git clone git://github.com/schacon/grit.git

这会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。如果进入这个新建的 grit 目录,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

git clone git://github.com/schacon/grit.git mygrit

唯一的差别就是,现在新建的目录成了 mygrit,其他的都和上边的一样。得到这个项目之后,接着就是进入这个项目的目录中,我们就可以进一步开发,并且使用git进行管理和操作了。

二、远程仓库

1、添加远程仓库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]

$ git remote add pb git://github.com/paulboone/ticgit.git

这样就现在可以用字符串 pb 指代对应的仓库地址了。

2、查看当前的远程库
要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字。在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库。

也可以加上 -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址:

$ git remote -v
pb git://github.com/paulboone/ticgit.git

3、从远程仓库抓取数据

可以用下面的命令从远程仓库抓取数据到本地:

$ git fetch [remote-name]

此命令会到远程仓库中拉取所有你本地仓库中还没有的数据。运行完成后,你就可以在本地访问该远程仓库中的所有分支,将其中某个分支合并到本地,或者只是取出某个分支。

如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下。所以,git fetch origin 会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。

如果设置了某个分支用于跟踪某个远端仓库的分支,可以使用 git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。实际上,默认情况下 git clone命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支,所以一般我们运行 git pull,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。

4、推送数据到远程仓库

如果需要将本地仓库中的数据推送到远程仓库上,可以使用命令git push [remote-name] [branch-name], 例如要把本地的 master 分支推送到 origin 服务器上。

$ git push origin master

只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。

5、查看远程仓库信息

我们可以通过命令 git remote show [remote-name]查看某个远程仓库的详细信息,比如要看所克隆的 origin 仓库,可以运行:

$ git remote show origin

6、远程仓库的删除和重命名

可以用 git remote rename 命令修改某个远程仓库在本地的简称,比如想把 pb 改成 paul,可以这么运行:

$ git remote rename pb paul

注意,对远程仓库的重命名,也会使对应的分支名称发生变化,原来的 pb/master 分支现在成了 paul/master。

碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行 git remote rm 命令:

$ git remote rm paul

掌握了上面的一些东西,下面我们具体来配置一些,前面第一章我们将本地git配置好了,现在我们需要做的是配置远程代码仓库,我们使用的是github,然后就可以在本地使用git管理代码,并且代码提交到github上了。

三、github配置

前提是在github上面注册一个用户。

1、创建一个 SSH key

cd ~/.ssh
ssh-keygen -t rsa -C "your_email@example.com"

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码)
当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了。

代码参数含义:

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

执行ls命令,可以看到存在 id_rsa.pub 或 id_dsa.pub 文件

2、添加你的 SSH key 到 github上面去

a、首先你需要拷贝 id_rsa.pub 文件的内容
b、登录你的github账号,从又上角的设置( Account Settings )进入,然后点击菜单栏的 SSH key 进入页面添加 SSH key。
c、点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。当然,上面的 Title 所对应的输入框你也可以输入一个该 SSH key 显示在 github 上的一个别名。默认的会使用你的邮件名称。

3、测试一下该SSH key

ssh -T git@github.com

如果看到下面内容,表示配置正确。

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

四、创建并且添加远程仓库

1、在github里面创建一个代码仓库

a、进入你的github用户主页,点击repositories选项,然后点击右边的new选项进行创建。

这里写图片描述

b、输入仓库名称,然后直接点击创建
这里写图片描述

2、创建完成之后,我们可以看到下面的指导
这里写图片描述

3、我们可以看到它有两种方式,就是我们上面说的两种方式,一种是直接在本地初始化一个,另一种是从远程克隆一个。总之,先要得到一个本地仓库,接着就是添加一个远程仓库,这样本地仓库就可以和远程仓库连接起来了,关于远程仓库的添加上面也已经介绍到了。

第一种:初始化一个本地仓库,添加一个远程仓库

echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/pianpian315/test.git
git push -u origin master

第二种:本地仓库存在,直接添加一个远程仓库

git remote add origin https://github.com/pianpian315/test.git
git push -u origin master

添加了远程仓库之后,我们就可以将本地代码提交到远程了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值