如何在mac下远程搭建git服务器?
Mac好用的GIt管理器推荐:TowerMac版
TowerforMac是应用于macos平台上一款非常强大的Git客户端,Git是目前最流行的版本管理工具之一,TowerGit具有强大的Git资源库管理、版本控制、分支管理等等,并且能够和Xcode、github、Beanstalk、BBEdit等软件无缝结合使用!
TowerMac版
TowerforMac软件特色
1、便于使用
无需记住复杂的命令(及其参数)。Tower使许多高级操作像拖放一样简单。
2、撤消一切
撤消本地更改
恢复旧版本
还原提交
恢复已删除的提交
撤消分支删除
3、清晰的可视化,更好的理解
Tower的清晰视觉界面非常有用-并且使复杂场景更容易理解。
4、自信地使用Git
以简单,直观的方式解决合并冲突
立即查看哪些提交尚未与遥控器同步
停止使用SSH密钥,用户名,密码和身份验证令牌进行摔跤
好久没有写了,最近给家里做了一个小程序,不得不说微信小程序还是很完善很简单的。服务器用的世界上最好的语言写的。后面就要部署服务了,主流的服务器系统都不太会,所以就还是稳稳的选择了Windows的。然后就想随便做一个私有远程仓库,总不能把所有东西放在GitHub上吧。查阅了一些资料使用 GitBlit 。网上文章有很多,挺详细的。比如:
文章1
文章2
但是我遇到了一个问题,网上也没有找到相关的解决方案。
我在运行gitblitcmd 批处理文件时候,出现了 javanetBindException: Cannot assign requested address: bind 这个报错。
如果你运行这个gitblitcmd 批处理文件后,直接闪退看不到报错,你可以看用cmd到gitblitcmd文件目录,然后输入gitblitcmd文件中的 @java -jar gitblitjar --baseFolder data 在cmd中运行即可。
这里无法启动服务,当然也无法登陆gitblit的网站了。后面我发现把这个配置改成
把网络绑定ip改成本地ip,我的本地就可以访问gitblit的网站了。当然外网也不能访问。
最后实在没有办法了, 直接不填这个值
居然就可以了!!!!!
对就是这样就可以了!!!!
大佬给我说可能是ipv6与ipv4的关系,这就更不懂了
先这样吧,你们有遇到过这个问题吗?
来自肥宅的小乐趣,带你玩转hexo自建博客,生活还是需要装一下的嘛:)。
官网 : https://hexoio/zh-cn/
关于hexo,如官网的一句话介绍,
正如上面的介绍,hexo会在本地生成一个静态html页面,为了让别人看到我们的博客,我们就需要将其推到远端--服务器。
那么github就提供给我们一个免费的仓库,对于新人练手是再好不过了。当然,也可以购买属于自己的域名,让更多的朋友看到你的博客。话不多说,让我们开始吧!(作者使用的是mac os系统,其他系统也类似)
mac用户推荐使用 Homebrew
笔者安装的版本为v1260
安装hexo需要依赖nodejs的 npm 的包管理器,由于国内镜像源速度很慢,为了避免出错,所以在使用之前一般是利用 npm 来安装 cnpm , cnpm 为淘宝的镜像源。
至此,我们hexo的博客搭建初步完成了。 INFO Start blogging with Hexo!
若不存在,请进行下一步(存在,请跳过创建步骤)
输入后按回车,然后会提示输入密码,可以按回车设为空。之后SSH就生成了,下图所示:
4 检验SSH Key
执行yes,若出现下例,则表示配置成功。
5 设置用户信息
6 本地博客部署至Github
终端 myblog 目录下,使用 vim 打开 _configyml ,
滑动至最底部,如图,编辑 deploy 节点,
type: git
repo: git@githubcom:codehory/codehorygithubiogit
branch: master
注:1冒号后有空格 2 repo 一行为新建仓库的SSH地址,打开新建仓库就能看见
输入完毕,按 esc , :wq 保存退出。
7 安装部署插件
在 myblog 目录下,
8 Deploy to Github
至此,恭喜,完成全部部署,在网址栏输入: yourusernamegithubio 就能看到你的初步博客啦!( yourusername 为你github用户名)
在 myblog 目录下,新建一篇博客,
在本地博客的 source->_posts 路径下看到新建的文章,是md格式的,使用markdown文本编辑器进行编辑即可。
编辑完成之后,执行以下命令,即可更新博文,
为了继续满足我们深入骨髓的DIY之心,换一个自己喜欢的主题也是必不可少的环节。Github上有很多眼花缭乱的主题,去选一个自己喜欢的吧! https://hexoio/themes/
本文例程使用的是: https://githubcom/litten/hexo-theme-yilia
在 myblog 目录下,用 vim 打开 _configyml ,
可以修改 title,subtitle,description,keywords,author 等内容,这些属性依赖于你选择的主题。
输入完毕,按 esc , :wq 保存退出。
menu 用来设置你博客的分类,标签等。
subnav 为你的社交媒体的链接,如github,微博等。
用github当图床
头像 更换:在 myblog 目录下的 source 文件下创建 img 文件,将保存在其中。我们通过部署生成,把放到 github 上,通过链接找到。
例如:本文将一张 timgjpeg 的存放到 myblog/source/img/ 下,那么我们可以通过之前生成的链接,如 https://codehorygithubio/img/timgjpeg ,进行的插入。
还有许多诸如此类的设置,各自进去修改吧,同样的操作,保存退出。
最后来看看我们的博客吧,还不错吧:
由于博客是在本地生成的,如果更换电脑,那我们是不是就不能用这个博客了?方法总比问题多,我们可以利用 github 来备份博客的文件和数据。
第一次备份完毕,以后的备份,只需进行如下操作:
这样备份完毕后,我们在另一台电脑上,只需 git clone 一下就行了。
说长不长,说短不短,一通操作下来,不知你是否成功了呢?作者只是抛砖引玉,带你入门,之后的进阶过程,还望各位继续探索,玩转hexo。欢迎在评论区展示下你们的成果咯,让作者也学习学习,哈哈。同样,如若有任何纰漏或者相关问题,请在评论区留言吧!感谢各位观看!See you~
第一,下载并安装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 是http://githubcom/testinguser/iphone_project。而在项目页面的摘要部分,你会发现有两个 Git URL 地址,见 右图:
右图的 摘要中的公共 URL 和私有 URL
Public Clone URL 是一个公开的,只读的 Git URL,任何人都可以通过它克隆该项目。可以随意散播这个 URL,比如发布到个人网站之类的地方等等。
Your Clone URL 是一个基于 SSH 协议的可读可写 URL,只有使用与上传的 SSH 公钥对应的密钥来连接时,才能通过它进行读写操作。其他用户访问该项目页面时只能看到之前那个公共的 URL,看不到这个私有的 URL。
1、环境准备
服务器:CentOS 73 + git (1831)
客户端:win10 + git (2170windows1)
2、服务器安装git
yum install -y git
3、创建git用户,管理 git服务
[root@localhost home]# useradd git
[root@localhost home]# passwd git
4、服务器创建git 仓库
设置/home/git/repository-git 为git 服务器仓库,然后把 git 仓库的 owner 修改为 git 用户。
复制代码
[root@localhost git]# mkdir repository-git
[root@localhost git]# git init --bare repository-git/
Initialized empty Git repository in /home/git/repository-gt/
[root@localhost git]# chown -R git:git repository-git/
5、客户端安装git
下载 Git for Windows,地址:https://git-for-windowsgithubio/
安装完之后,可以使用 Git Bash 作为命令行客户端。
51、选择一个目录 F:\project\sell 作为本地仓库,右键进入Git Bash 命令行模式
初始化本地仓库:git init
52、尝试克隆一个服务器的空仓库到本地仓库
git clone git@192168116129:/home/git/repository-gt
第一次连接到目标 Git 服务器时会得到一个提示:
The authenticity of host '192168116129(192168116129)' can't be established
RSA key fingerprint is SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ
Are you sure you want to continue connecting (yes/no)
选择 yes:
Warning: Permanently added '192168116129' (RSA) to the list of known hosts
此时 C:\Users\用户名\ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。
Git,这货堪称神器,用了它就再也不想用其他VCS了,就像上了高速就不想再走国道一样。
Git的强大之处在于,你可以在局域网内的任何一个共享路径下创建仓库,而不需要运行任何服务。所有的操作都是基于本地的。这也不难理解可以直接放在快盘里了。
一般的大些公司都有自已的版本管理服务器,远程时 登录***也可以实现操,但是几人的小团队就不太现实了,基本没有***,如果是几个异地朋友想凑在一起创业,就 只能买台服务器做版本管理服务器,这个第一想到成本,对于几个人来说一台服务器一年的成本也不是小数,还要 抽出时间来进行管理,在这里我们接上篇,用网盘来实现Git版本管理,就省了大家不少的精力和钱财,且稳定性还 是有保障的,也基本不用担心空间问题,如我的网盘一般都在50G左右,一般来说做开发项目代码文件不会有这样大的。
一般人使用Git+Github来搭建进行本地远程交互,不过Github弄个私人仓库是要刀乐思的,如果你很抠,或者你的伟大idea不想被别人瞄去,可以考虑用Git+金山快盘搭建私人服务器。
不多说,以下是步骤:
下载安装金山快盘,指定路径,申请账号
下载安装Git桌面版,配置各参数
在快盘文件夹里新建一个文件夹,在这个文件夹里新建仓库一定要选中央资料库,否则会push不上(个人档案库会在这个目录下面生成git的隐藏文件夹,而中央资料库会直接在这个目录生成管理目录,即没有外包git文件夹,push上来的文件不会有源文件,只有Git自己的管理文件了。跟SVN差不多,SVN服务器上的repository也是没有源文件的,只有它自己的管理文件)
建好之后就可以把本地的项目push上去了,本地只管pull、push就行,仓库的同步交由快盘负责。
到此为止就可以使用Git+快盘仓库了,如果不考虑电脑的消耗资源,看起来区别跟svn不大。但是无论从实用性和方便性,Git都优于SVN,SVN+金山快盘是要在本地跑SVN服务的,相当耗资源,而Git不跑什么服务,顶多跑个十来M的快盘,小意思。
并且SVN的分支管理远不及Git,不过Git也有点小缺点,比如更改文件后文件图标不立马变色,调用第三方的对比工具(如BeyondCompare)弹出速度比较慢(最慢的时候我都以为电脑死机了,并且文件如果没有变化diff的话BeyondCompare就不弹出,不人性化)。不过这些都是小问题,可以忍受。
另:基于局域网共享文件夹的Git服务器模式也类似,注意创建仓库的时候选中央资料库就行了。
言归正传,接下来就介绍如何实现网盘+Git Gui 团队间版本管理
这里要说明一下,可用的网盘要有“共享”功能而不是“分享”功能,在百度云网盘、腾讯的微云网盘、360云盘和金山快盘中找了一下,发现只有金山快盘有这个功能,所以团队开发得用金山快盘了来实现了。
1、用金山快盘来做服务,之后把网盘中的相关目录共享给好友这样我们退出网盘,用刚才共享的那邮箱来登录网盘,我们发现这个网盘中多了一个“我收到的共享文件”目录,打开看一下就是我们共享的目录
2、接下来我们需要用上篇的方法把这个目录中的文件clone下来,但是快盘的共享目录是用邮箱来做名称的,如:
D:/htw/kaupanwebtide/sharebox/tinwai@qqcom/MySelf 里面含有@符号,这个在Git里面是有特殊用处的,不用急,我们可以用mklink /J 来做一个目录联接就可以了,具体操作,我们打开Dos窗口输入如下指令:
mklink /J D:/htw/gittest/GitTestgit D:/htw/kaupanwebtide/sharebox/tinwai@qqcom/MySelf
这样我们就建立了一个gitgit到网盘的联接,我们就可以用这个gitgit当网盘路径在Git里面用了
3、我们在gittest目录根目录下面右键选“Git Bash”输入:
git clone GitTestgit
我们下载下来项目代码, 打开看一下和我们在前面网盘提交的是一样的呀,我们还是修改一下代码
4、重复上篇的步骤提交代码,再退出现在用户用原其它用户或原用户登录,再更新一下代码看一下,是不是已经变化了
到此为止,一个小团队的代码版本管理系统就完成了,对于在创业路上的小团队来说是一个不错的选择,当然对于大的团队来说还是有自建的最好
感谢金山快盘提供优质的稳定的免费网盘服务
作为程序员来讲,沉淀技术最好的方式,就是写博客。而大部分程序员在内心都有一个自己的博客情怀,就是想打造一款适合自己的个性化,现代化,干净整洁的博客系统。
而市面上有非常多的博客系统,但是程序员的情怀只有我们程序员懂,那就是简洁漂亮就行。我今天就给大家推荐两个不错的方式,来搭建自己的个人博客。
第一个:Hexo+GitHubPages
GithubPages可以被认为是用户编写的、托管在github上的静态网页。使用GithubPages可以为你提供一个免费的服务器,免去了自己搭建服务器和写数据库的麻烦。此外还可以绑定自己的域名。
Hexo是一个快速、简洁且高效的博客框架。Hexo使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
两者相结合,可以快速,免费的搭建一款非常漂亮简介的博客系统。Hexo提供了格式各种,各种各样的博客主题,随便你挑选,绝对有一款可以让你非常满意。
具体的搭建方式,内容太多了,我就不介绍了。大家在网上一搜,一堆教程,一会就能够搭建完成。
第二个:一个开源的博客系统
Halo,它是一款现代化的个人独立博客系统。
Halo[helo],意为光环。当然,你也可以当成拼音读(哈喽)。它轻快,简洁,功能强大,是使用Java开发的博客系统。
安装和启动也非常简单
它配有周边产品,可以增加后台,app,独立评论模块,主题仓库等。
云主机因其具备易用、易管理、高性能等特性受到了用户的青睐。如今国内外涌现出许多云主机平台,在使用它们搭建云服务器之前,先给大家推荐一个福利工具包:Github education pack。
Github education pack是GitHub免费为学生提供的开发者工具包,包含许多开发工具和资源的优惠。下面是它的申请流程:
申请条件
申请步骤
学生包支持的开发工具资源有很多,我数了一下大概有104种资源
Namecheap:
ICANN认可的域名注册和网站托管公司,提供域名注册、虚拟主机、VPS主机和独立服务器等综合IDC业务产品。管理方便、域名性价比高。
福利:一年免费的me域名和SSL证书
namecom:
ICANN 授权的域名注册商,使用简洁,注册管理方便,支持免费的 Whois Privacy 服务,DNS稳定,域名解析快。支持paypal和信用卡支付。
福利:一个免费域名和免费高级安全性(SSL,隐私保护等)
AWS educate:
亚马逊为学生提供的学生包,能够访问AWS云,获得免费培训和协作资源
福利:提供一个 100刀的云服务器的额度
Microsoft Azure:
微软的公用云端服务平台,无需信用卡就能访问Microsoft Azure云服务和学习资源这对没有visa卡的我来说太友好了
福利:免费使用25种以上的Microsoft Azure云服务以及100美元的Azure信用额。
DigitalOcean:
为开发人员构建的简单云托管
福利:50刀信贷平台额度
Canva:
福利:Canva Pro等级的12个月免费订阅
而上述资源中,我将具体描述AWS及Digital Ocean两个云主机平台,并将其与国内云主机平台阿里云进行对比
1AWS申请到了GitHub学生包之后就可以免费获得每年$100的信用优惠券,基本可以满足建站需求(在选择安装包时会显示价格和你可以使用的免费包,选择免费的就可以了)。
要用'软件'栏显示免费的套餐架站前的准备:要先在官网上注册账号,填上个人信息和信用卡号码(一定要用有效的信用卡,在官网首页右上角“我的账户”可以看到信用卡是否有效,成功添加会自动生成一个订单——需要支付1美元来开启整个网站的功能)再从GitHub Education pack的学生优惠界面上点击AWS-educate版块里面的unique link来进入学生页面,填写自己的学生认证信息(要用英文)以及绑定好之前申请的账号。认证成功后会收到显示通过的邮件,如果显示没成功就要根据邮件要求来做(当时它是要求我通过发送的链接来补充课程名字、任课老师名字和邮箱这些信息)。通过后再等24小时才可以创建实例开始建站。架站过程:先进入控制台的“服务”栏,点击EC2,开始创建实例(实例一般建一个就好,不需要用的时候应该将 EC2 进行停止或者是终止服务器,不然服务费用到时候可能会超支)。
创建实例然后是选择系统镜像和实例类型、配置实例详细信息和安全组之后就可以启动实例了。
启动实例启动过程中要创建并保留密钥对,记住 ipv4 的公网IP地址,再使用putty和puttygen两个工具来连接实例,在SSH连接过程中要注意的是不同系统镜像会有不同的用户名,Ubuntu系统的用户名为ubuntu。Amazon Linux系统,用户名是ec2-user。对于RHEL5, 用户名可能是root,也可能是ec2-user。此过程耗时较久且容易报错,我也是参考了师兄的教程来完成的。总结来说,AWS这个平台就是需要信用卡来开通账户的,可以实现一键式架站,但由于网站服务器可能是在国外,它的响应速度其实并不快,需要配合***来操作。小心不踩坑的话可能就不会扣费。
一、追求简单化配置
Digitalocean真正做到上手即用,它负责解决云主机最复杂的技术部分,然后提供给用户异常高速、全部采用SSD固态硬盘配置的VPS产品。价格策略采用计时和计月付费,而不是Linode一次性买断的方式,让用户更自由地分配资金投入。简单易用的API开放接口,让你随意定制产品,后台管理面板非常简洁实用,并且有丰富的一键安装工具,点下鼠标就能瞬间安装好LNMP、Ruby on Rails、Django、Wordpress程序。
二、为初学者考虑周到
部署一个高速VPS需要多长时间?在Digitalocean,你只需要55秒!就能拿到一台拥有独立IP和root权限的VPS云主机。如此高效的布置,依赖于Digitalocean技术团队的功劳。
同时,Digitalocean网站有活跃的用户论坛和帮助文档,一步步指导你如何管理VPS,常用的LNMP一键安装包、PPTP安装包,都能在官网找到,立刻让你投入工作生产中。
三、按需付费、节省成本
一直以来,老牌Linode VPS被国内站长称为“高富帅”产品,因为Linode一年几千块的费用还是有一定门槛的。但是Digitalocean做到了云主机的优势,按需付费,你不必一次性支付几千块钱,也不必选择高配置的机器,当前的业务量多大,就选多大的配置,不多花一分钱,做到现金流可控。
对比内容包括不限于:申请注意事项、学生优惠/普通账户优惠是什么、提供的wordpress服务
0条评论