github存储库默认分支,git克隆不了怎么办

一、github 的 gh-pages 和 master 分支是什么关系

Github创建项目仓库后随即只产生一个master分支,只需要再添加gh-pages分支就可以创建静态页面了。这利用了项目站点(即Project Pages)的方式。还有一种创建站点的方式叫做User/Organization Pages。下面介绍前者。

首先,创建一个名为 Github用户名.github.io的仓库。

接着大家可以在这仓库里放一些静态页面,在外网访问: MuYunyun.github.io(拿我举例),就能访问到里面的静态资源了,由于博主已经把MuYunyun.github.io绑定了 域名,所以你实际上会访问到的是muyunyun。

如果你想知道楼主如何基于github搭建自己的博客,可以看我的另外一篇文章。这次讲的重点主要是gh-pages,接着继续。

案例1

那可能有朋友会不解,既然楼主你说的 Github用户名.github.io已经能展示页面了,那gh-pages是什么作用呢?

答:大家不会只有一个项目要展示的吧,万一你和楼主一样把 Github用户名.github.io作为博客了,那不就没地方展示项目了吗?所以就有了gh-pages这个东东。

理解了这点,接着举个例子。

如上图所示,通过git-add-A、git-commit-m"..."命令把完成的项目上传到github上以后,默认的是处于master分支,你可以进该案例地址看看项目结构。接着我们要做的是展现dist目录下的静态文件,那关键的语句来了

git subtree push--prefix=dist origin gh-pages

意思就是把指定的dist文件提交到gh-pages分支上,

那这时候,我们看到已经多出了一个gh-pages分支,那么展示地址就是 Github用户名.github.io/创建的仓库名拿我的这个案例来讲,它的展示地址就是 MuYunyun.github.io/gallery-by-react/,当然你看到的会是muyunyun/gallery-by-react/。

案例2

那么上面这个例子展示的项目文件中的某个文件,那么如果我想把项目里的所有文件都展示那该如何做呢?上个简单的案例

和上面那个案例一样,通过git add-A以及 git commit-m"..."把项目上传到github以后,目录结构如上图,我想让所有的界面包括js,css都展现出来,那该怎么做,其实只比上面那个例子多上一句git底层命令: git symbolic-ref

完整的步骤我上一遍:

text git:(master) git symbolic-ref HEAD refs/heads/gh-pages

git add-A

git commit-m"..."

git push origin gh-pages

二、怎么通过git把代码上传到github上

这是我第一次应用git,以下仅供git的初学者参考。

github是一个基于git的代码托管平台,付费用户可以建**仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。这对于一般人来说公共仓库就已经足够了。

1.注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

2.安装客户端tortoiseGit

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用TortoiseGit,他给我们提供了图形界面的*作。在安装之前首先需要安装git,**地址,TortoiseGit**地址:

装完后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。

3.配置Git

(1)首先在本地创建ssh key;

$ ssh-keygen-t rsa-C"your_email@youremail"

后面的your_email@youremail改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,**里面的key。回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。

(2)为了验证是否成功,在git bash下输入:

$ ssh-T git@github

如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access。这就表示已成功连上github。

(3)接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。

$ git config--global user.name"your name"

$ git config--global user.name"your name"$ git config--global user.email"your_email@youremail"

(4)进入要上传的仓库,右键git bash,添加远程地址:

$ git remote add origin git@github:yourName/yourRepo.git

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote“origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

4.提交、上传

(1)接下来在本地仓库里添加一些文件,比如README,

$ git add README

$ git add README$ git commit-m"first commit"

(2)上传到github:

$ git push origin master

git push命令会将本地仓库推送到远程服务器。

git pull命令则相反。

修改完代码后,使用git status可以查看文件的差别,使用git add添加要commit的文件,也可以用git add-i来智能添加文件。之后git commit提交本次修改,git push上传到github。

5.gitignore文件

.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等*作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add-A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:

**n

.suo

obj

**n和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add-A了。

三、github网页怎么创建新分支

安装好Github的Windows客户端,登录自己的账号,拉取某一项目下来。

创建一个分支MyBranch。

切换到MyBranch分支,然后返回主界面,可以看到当前已经在MyBranch分支了。

更改当前分支的内容(如提交代码,增加文件),这里增加一个test.txt文件,返回主界面,发现有更改提示了。

提交更改到当前分支。

6

发布到服务器。进入分支管理界面,分别拖曳分支和主干到相应位置,merge。

四、git克隆不了怎么办

将存储库克隆到新创建的目录中,为克隆的存储库中的每个分支创建远程跟踪分支(使用git branch-r可见),并从克隆检出的存储库作为当前活动分支的初始分支。

在克隆之后,没有参数的普通git提取将更新所有远程跟踪分支,并且没有参数的git pull将另外将远程主分支合并到当前主分支(如果有的话)。

此默认配置通过在refs/remotes/origin下创建对远程分支头的引用,并通过初始化remote.origin.url和remote.origin.fetch配置变量来实现。

执行远程*作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。

$ git clone<版本库的**>Shell

比如,克隆jQuery的版本库。

$ git clone

该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数。

git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等。

相关文章

萤石(EZVIZ)C6c价格多少钱

萤石(EZVIZ)C6c价格多少钱

很多小伙伴在关注萤石(EZVIZ)C6c怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...

闪迪(SanDisk)128GBSD存储卡口碑怎么样

闪迪(SanDisk)128GBSD存储卡口碑怎么样

很多小伙伴在关注闪迪(SanDisk)128GBSD存储卡怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一...

文石BOOXLeaf2口碑好不好

文石BOOXLeaf2口碑好不好

很多小伙伴在关注文石BOOXLeaf2怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...

小米充气宝小米米家充气宝2好不好用

小米充气宝小米米家充气宝2好不好用

很多小伙伴在关注小米充气宝小米米家充气宝2怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...

朗科(Netac)64GBTF(MicroSD)存储卡使用反馈分享

朗科(Netac)64GBTF(MicroSD)存储卡使用反馈分享

很多小伙伴在关注朗科(Netac)64GBTF(MicroSD)存储卡怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价...

科大讯飞AI学习机C1010.1英寸口碑怎么样

科大讯飞AI学习机C1010.1英寸口碑怎么样

很多小伙伴在关注科大讯飞AI学习机C1010.1英寸怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看...