如何搭建一个GitHub在自己的服务器上

如何搭建一个GitHub在自己的服务器上,第1张

1、要需要购买WEB服务器(正睿服务器等)。
2、网站代码备份和数据库备份。 3、在新服务器上搭建运营环境和数据库。 4、进行域名解析(将网址指向本地的IP地址上) 5、将数据库进行还原、代码进行解压并放到根目录下。 6、开启运营环境,应该就

代理Github的主要原因在于网络环境的不同,Github在海外有良好的访问体验,但在国内
网络环境及带宽受限,访问体验较差。为了改善Github访问体验,针对不同的地区需要经过优化,很多机构就采用了代理Github的方式以改善用户到Github服务器的延迟,以保证Github访问的稳定性,从而大大提高网络访问质量。

来自:漫话编程

周末,我正在家里看《最强大脑》,女朋友在一旁刷手机,相安无事。谁知道,刚过了没多久,她突然问我:

版本控制

想要介绍什么是GitHub,就要介绍下什么是Git,想要介绍什么是Git,那就不得不提版本控制。

我们知道,如果多台计算机在同一个局域网中,是可以进行局域网文件共享的。共享者可以通过设置把自己文件共享给他人进行阅读和修改。

对于同一份共享文件,如果又多个人需要修改的话会发生什么事情呢?假设现在有三个人,A分享了文件夹mhcoding,其中包含了三个文件mhcoding1png,mhcoding2png,mhcoding3png,B和C需要对这份文件进行修改。

B和C分别把mhcoding文件夹拷贝到自己的电脑上,然后进行修改,改完之后需要再把自己修改上传上去。B先改完了之后把自己的文件上传上去,覆盖了A的分享。之后C也改完了,也把自己的改动上传上去。这样,C就会把B的修改覆盖掉。

为了上述这种问题,就需要通过一种方式来在C想要上传文件的时候来提醒他,告诉他需要考虑到B已经改过文件的事情。

比较好的方式就是通过版本控制。

如果使用了版本控制系统,每一个团队成员都可以在任何时间对任何文件毫无顾虑的进行修改,版本控制系统可以提醒我们文件修改冲突,甚至可以帮我们自动把多个人的改动合并到一起。

有了版本控制,我们还可以回溯查看以前某一个版本中具体文件的内容,还可以查看某一次改动的变更内容。非常适合团队协作。

版本控制的方式

本地版本控制系统

许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。

为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。

集中化的版本控制系统

接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统应运而生。

这类系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

这种做法带来了许多好处,特别是相较于老式的本地版本来说。现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理起来也轻松容易的多。

分布式版本控制系统

集中化最显而易见的缺点是中央服务器的单点问题。如果中央服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。

于是分布式版本控制系统面世了。在这类系统中,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取 *** 作,实际上都是一次对代码仓库的完整备份。

Git

git其实就是一款我们前面介绍的分布式版本控制软件,Git具有以下特点:

程序员是比较典型的需要团队协作的职业,大多数情况下,都是需要多个程序员同时开发同一个项目的,就好像多个程序员要同时修改一份word文档一样。所以,Git是很多程序员的必备工具。

GitHub

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

所谓托管平台,也就是说他可以用于存放文件。只不过上面的文件都是可以公开被访问到的。

GitHub是通过Git进行版本控制的软件源代码托管服务,并且,GitHub还引入了一些社交属性。号称是世界上最大的程序员(同性)交友网站。

GitHub上那些奇葩"项目"

Dress - 女装大佬聚集地

有129名贡献者在这个名为Dress的项目里集结,上传了数千张女装照,收获了8000余颗星。

你敢相信这是个码农?

地址:>

方法/步骤

1在windows系统客户端安装git工具。注:如何安装git工具在此不做介绍,如需了解可网上搜索安装介绍。

2在“本地文件”中添加“git文件”,用于git管理。进入本地文件夹,右击鼠标-单击GitInitHere-生成git文件夹。

3在github创建仓库用于存储管理本地文件,示例:Blog。点击账号前的加号(CreateNew)--Newrepository,根据引导创建一个Blog仓库。

4远程添加github上的Blog仓库。1)进入本地文件夹下-右击鼠标-GitGui-远端(remote)-Add

52)获取github中Blog仓库的地址。

63)在AddRemote窗口中填写名字、Location。名字:BlogLocation:粘贴刚刚复制的Blog仓库路径最后单击“Add”。

7将本地文件内容即“已缓存的改动”,提交git管理的master分支上。

8将本地文件上传到github上去。单击GitGui界面“上传”--“上传”窗口随意勾选一个或多个传输选项--点击“上传”--上传Blog过程中需要输入github的登录账号和密码。

9在github上查看本地文件Blog项目是否上传成功。注意事项git文件夹是隐藏的项目,在“查看”中允许隐藏项目显示才可以看见。“上传”窗口中必须勾选一个或多个传输选项,传输选项不能为空否则上传会失败。

摘要:

git init 新建一个空的仓库

git status 查看状态git add 添加文件

git commit -m '注释' 提交添加的文件并备注说明

git remote add origin xxx连接远程仓库

git push -u origin master 将本地仓库文件推送到远程仓库

git log 查看变更日志

git reset --hard 版本号前六位 回归到指定版本

git branch 查看分支

git branch newname 创建一个叫newname的分支

git checkout newname 切换到叫newname的分支上

git merge newname 把newname分支合并到当前分支上

git pull origin master 将master分支上的内容拉到本地上

一:简介

首先,我先对GitHub来一个简单的介绍,GitHub有一个很强大的功能就是,你在服务器上边可以创建一个库(稍后会介绍怎么创建),写代码是一件很重的任务,尤其是很多人完成一个很大的项目的时候,就十分的复杂,一群人一起来写某个项目,大家完成的时间,完成的进度都是不相同的,你写一点我写一点,甚至可能你今天写的出现了错误,影响到了我昨天写的代码,最后怎么才能将大家的代码轻松的汇总起来,又怎么在汇总所有人的代码之后发现错误等等一系列问题。这样我们就用到了GitHub这个软件。我们在GitHub服务器上有一个主仓库,这里用来储存你的所有代码,如果不付费的话是所有人都可以看的,如果你不想让别人看到你的代码,可以选择付费仓库。我们创建了主仓库之后,就可以在电脑上创建分支,之后你就可以在电脑上完成自己的代码,写完之后直接同步在电脑的分支,当你认为可以上传的自己的主仓库时,就可以申请更新,当通过审核的时候,你代码就出现在了自己的主仓库中,这样全世界的程序员都可以查看你的代码。全世界现在已经有300万的注册用户,甚至还有一些相当知名的开源项目也在其中公布代码。在GitHub上你可以看到很多计算机领域的精英所分享的自己的代码。这是GitHub的两个主要优点,适合团队协作,以及下载其他优秀者的代码。

>第一,下载并安装git
目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好
使用默认配置安装Git。这个不用多说,一路Next就可以,如果对各种选项不熟悉,建议使用默认配置,没问题的。
第二,创建github账号
什么是Git和GitHub
Git —The stupid content tracker, 傻瓜内容跟踪器,是一个由Linux内核开发者Linus为了更好地管理Linux内核开发而创立的分布式版本控制软件。
GitHub — 学生做版本控制最讨厌的就是找服务器,配置太麻烦了。GitHub这个网站为每个用户提供服务器托管其Git代码库,免费空间为300M。注册GitHub后你就会有03G的免费空间,不过只能创建公开项目。
为什么不选CVS或SVN
Git提交/克隆/pull/push的速度更快
Git的绝大多数 *** 作都可以在本地完成,不需要频繁连接服务器。
注册GitHub账号
GitHub网址在 这里
点击上方导航条的Signup and Pricing即可进入注册界面, 选择注册免费账户
GitHub选择的默认通信方式是SSH,所以要先在Git里面生成SHH Key,打开Git Bash在其中输入如下命令:
ssh-keygen -t rsa -C "3sdfsf80@xinlangcom"
之后会让你选择是否对存放SSH Key的文件夹进行加密,一般都不需要的。一路回车,就OK了。
在c盘,当前用户文件夹下,有个ssh 文件夹,在里边 找到 id_rsapub文件,用记事本打开,复制其中的全部内容。
登陆你的GitHub账户,依次点击Account Settings
>
SSH Public Keys
>
Add another public key,把id_rsapub中的内容拷贝进去 。
至此,基本的设置已经完成了。
成了。
测试你的Git
经过上述配置,你的Gti应该可以通过SSH连接GitHub服务器了,让我们来测试下,输入如下命令:
会给你这样的提示:
输入yes,会显示:
到这里,说明你的SSH运转良好。
如果提示你的密钥不正确,那么你需要重新确认上一步的 *** 作是否完整无误。
第三,建立本地git仓库
首先,git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:
git config --global username 'aaTessst'
git config --global useremail fsc@sinacom
其次,选择git仓库目录
我们假设将git仓库目录放在D盘的OPENSource目录下,可以通过在git bash中执行以下命令完成:
cd /d
mkdir OPENSource
注:git bash支持大多linux bash终端命令,你可以自己尝试更多终端 *** 作。
最后,建立项目并初始化git仓库
我们的第一个项目是一个使用Python语言将XML文件转换成Python字典,通过执行以下命令完成此步骤:
mkdir Python-XML2Dict
cd Python-XML2Dict
git init
执行此 *** 作后,git将在Python-XML2Dict目录下创建一个隐藏目录(git),这个目录就是git用来管理软件版本的仓库。
第四,使用git管理项目
此步 和 在linux 上 使用 git 的 方法一样,具体参考 我的 其他 博文!
第五,将项目提交到github管理,gitpush
如果 第二步 测试无错,那么 经过 以下两步 就可以将本地的文件提交到github仓库了。
1、登录GitHub后,你可以在右上边靠中那里找到一个按钮“creat a New Repository”,点击过后,填入项目名称、说明等 过后就可以创建了,然后会出现一个提示页面,记下类似 git@githubcom:XXX/XXXgit 的地址,这个就是你这个项目的地址了。
2、
1 git remote add origin git@githubcom:XXX/XXXgit
2 git push -u origin master //把本地 master 分支 推送到 服务器的master分支上,如果服务器没有此分支,就 新建 此分支。这也是 在服务器上新建分支的一种方法
这个git@githubcom:XXX/XXXgit就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。
第六,直接 用 git pull 将项目 从 github 上 同步 下来
有两种方法:
1、当git clone之后,直接git pull它会自动匹配一个正确的remote url
是因为在config文件中配置了以下内容:
1 [branch "master"]
2 remote = origin
3 merge = refs/heads/master
表明:
1git处于master这个branch下时,默认的remote就是origin;
2当在master这个brach下,使用指定remote和merge的git pull时,使用默认的remote和merge。
2、但是对于自己建的项目,并没有这块内容,需要自己配置。
1 git remote add -f origin login@gitsvgnuorg:/srv/git/projectgit //若是 执行过 第五步,那么 这一句 就 不用了
2 git config branchmasterremote origin //这一步 设置: 把 master 分支上 的 默认服务器地址 设为 origin指向的地址
3 git config branchmastermerge refs/heads/master //这一步 设置:如果当前分支是 master 分支,那么 git pull之后,直接 把 “从 origin 下载 下来的 code合并到 master分支上“
或者加上--global选项,对于全部项目都使用该配置。
建议:用第二种 方法,因为 如果 是 git clone的 项目,当 执行 git push 时,因为 在 git config里 url 是 只读方式
[remote "origin"]
fetch = +refs/heads/:refs/remotes/origin/
url = git://githubcom/xxx/xxxgit
//git@githubcom:XXX/XXXgit 这才是 读写方式
---------------------------------
如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?
有两个方法:
1、重新修改本地代码,然后提交到服务器(覆盖),
2、直接登录 github 删除之前的项目。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。
--------------------------
若是一个项目就托管在 GitHub 上。你可以把它的 URL 分享给每位对此项目感兴趣的人。本例的 URL 是>不是。
Git是由Linus设计的开源项目,GitHub是基于Git的增值服务,通过SaaS或企业级产品的模式提供。但是相比红帽,它将增值项目和货币化方式合二为一了,也就是说想要使用其提供的增值项目,你必须要付钱。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12601311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存