mac上搭建自己个人博客

mac上搭建自己个人博客,第1张

博客的搭建大致分为以下几个步骤

先安装包管理器brew,参考:
>

创建本地仓库并同步到远程
git是非常强大的版本管理工具。接下来的时间里,我就和大家絮叨絮叨git的入门:如何在本地创建一个git仓库,并把自己的本地代码同步到远程。此教程是在mac上 *** 作的,如果您的系统是Linux,那么 *** 作方法相同;如果您的系统是windows,那么,只需要把git的bash窗口调出来,以后的过程也都与Linux相同。
一、首先,您需要安装git,此步就忽略了,自行安装即可。

二、假设你目前还没有创建一个工作目录,那么,先创建一个目录吧,就叫StudyGit。

三、现在的StudyGit目录还只是一个本地目录,和git没有任何关联,那么,我们怎么样才能把这个目录和git关联起来呢?只需要进入StudyGit目录,运行如下命令:

yanyaozhen@macbookpro:~/Coding/Practice/StudyGit$ git init
Initialized empty Git repository in /Users/yanyaozhen/Coding/Practice/StudyGit/git/

提示已经说明我们初始化了一个空的本地git仓库。如果你查看StudyGit下的所有文件时,会发现一个git 的隐藏文件,这个文件非常重要,版本的控制就靠它了。

四、接下来我们来看一个基本可以说是用的最频繁的一个命令:

yanyaozhen@macbookpro:~/Coding/Practice/StudyGit$ git status

五、现在让我们来创建一个文件吧。我们创建一个叫“atxt”的文本文件,并且内容如下

anyaozhen@macbookpro:~/Coding/Practice/StudyGit$ cat atxt

一般情况下,我们只会生成一个SSH Key,名字叫id_rsa,然后提交到多个不同的网站(如:GitHub、DevCloud、Gitee、GitLab)。
eg:尝试给Github配一个ssh。首先需要做的就是在命令行中输入以下指令
复制id_rsapub到对应的Git服务器即可。

但是也存在另一种需要,我们在同一个网站上,注册了两个或者多个用户名,通常网站不会允许我们为这两个用户名,配置同一个SSH Key,这时候就会有些麻烦。
a 一个gitee,用于A项目的一些开发活动;
b 一个github,用于B项目的一些开发活动;
c 一个gitlab,用于C项目的一些开发活动;

针对不同的账户,生成一个不同用途的SSH-Key,然后进行相关的配置即可。
下面以mac 设备为例:
1生成对应的SSH-Key:
生成一个gitee用的SSH-Key

生成一个github用的SSH-Key

生成一个gitlab用的SSH-Key

2在 ~/ssh 目录下新建一个config文件(终端:touch config),添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)

3然后进入 ~/ssh ,拷贝不同的xxx_id_rsapub到不同的服务器进行配置,eg:拷贝 github_id_rsapub 内容,然后,进入Github,在Your profile里,点击左边SSH keys,再在右边点击Add SSH key按钮,如图:
其中,Title随便填,将id_rsapub里的内容复制到Key中,点击下方的Add key按钮。
4用ssh命令分别测试

这里以gitee为例,成功的话会返回下图内容:

SSH全称Secure Shell,是应用层上的一种安全协议,专为远程登录和其他网络服务提供安全性的一种协议

利用SSH协议可以有效防止远程管理过程中的信息泄露问题SSH会把所有传输内容加密,防止“中间人”攻击也能防止DNS欺骗和IP欺骗另外SSH会压缩传输数据,实现更快的传输速度

使用SSH主要就是通过两个ssh key文件:id_ras_xx(私钥)和id_ras_xxpub(公钥)实现的

ssh-keygen -t rsa -C "xxx@gmailcom" #添加ssh key
Enter之后会出现以下界面,让你输入文件要保存的路径和名字,直接Enter的话会默认生成id_rsapub,因为接下来我们要设置多个平台账号的ssh,所以这里给他重新命一个新的名字,比如 id_rsa_公司名_平台名 (id_rsa_alibaba_gitlab)

完成之后会让你输入密码,可以设置为空,直接 Enter 即可看到下图内容出现就表示ssh key已经生成 ~/ssh 目录就会新增两个 id_rsa_xxx 和 id_rsa_xxxpub 的文件

默认的话是会自动加入ssh agent中的,但是我们重命名了,需要手动加一下
ssh-add ~/ssh/id_ras_xx_xx

把id_rsa_xxpub里的内容复制拷贝到git服务器相应的位置即可

至此,如果是采用默认命名的话SSH就已经可用了但由于我们重命名了,还需要配置一下 config 才行在 ~/ssh 目录下新建 config 文件,配置一下内容即可

ps: HOST 和 User 中的数据取自项目地址中的 git clone git@githubcom:socketio/socketio-client-swiftgit中的git@githubcom

我们一般都会有很多不同的git账号,比如GitHub,Gitlab还有国内的gitee,大多数公司也还会使用自己内部的git服务器,那就会有多个账号,这种情况就需要我们在电脑上配置多个账号了也不复杂,只需重复上述的步骤,然后配置下config即可
config参考如下:

至此大功告成

网址:>

git push时候遇到这个错误的解决方法如下:

在mac上面搭建的一个git server,在mac上面新建git仓库然后客户端获取没有问题。但是在客户端新建一个git仓库然后push到服务器的时候出现git does not appear to be a git repository错误

mac os 利用ssh 搭建git server服务器方法:

ubuntu下输入:>ssh-keygen -t rsa  不设置密码。默认在~/ssh下会有一个文件~/ssh/id_rsapub;

目前假设的是,服务器端从来没有配置成为过SSH服务器,所以自然也没有ssh目录以及authorized_keys文件。所以ubuntu下输入:>ssh git@服务器机器名称 mkdir ssh>scp ~/ssh/id_rsapub git@yourOtherMachineName:ssh/authorized_key;

现在重新切回服务器机器工作:>cd /etc,>chmod 666 sshd_config,>vim sshd_config。编辑如下:修改#PermitRootLogin yes为PermitRootLogin no。移除下面几条语句前面的#   #RSAAuthentication ye    #PubkeyAuthentication y#AuthorizedKeysFile     ssh/authorized_key  #PasswordAuthentication no  #PermitEmptyPasswords no   最后修改#UserPAM yes为UsePAM no;

注销ubuntu用户,并重新登陆,运行ssh git@服务器机器名称,不需要密码即可登陆。>ssh-keygen -t rsa,不设置密码。默认在~/ssh下会有一个文件~/ssh/id_rsapub;

由于第一台实验机器的 *** 作,目前已不能直接采用用户名密码方式远程登陆。所以将id_rsapub拷贝到了服务器上,并将其内容加入到了服务器上的authorized_keys文件中,测试通过;

同osx的第二步,不同的是有时候windows系统对dns的解析有些问题,所以如果无法登陆,可以git@后面可以输入IP地址实验一下。

1、安装git,官网有安装教程;
2、在新建项目到时候会有如下选项
如果创建项目到时候,没有选择创建repository,需要以下步骤进行设置
1)进入到该项目到目录下
$ cd Matchismo
2)找到xcuserstate,并设置到忽略文件夹中
$ find 找到隐藏文件xcuserstate,用来记录UI的情况,可以不使用git来提交

/DS_Store
/Matchismo
/Matchismo/DS_Store
/Matchismo/Baselproj
/Matchismo/Baselproj/Mainstoryboard
/Matchismo/Cardh
/Matchismo/Cardm
/Matchismo/CardGameAppDelegateh
/Matchismo/CardGameAppDelegatem
/Matchismo/CardGameViewControllerh
/Matchismo/CardGameViewControllerm
/Matchismo/Deckh
/Matchismo/Deckm
/Matchismo/enlproj
/Matchismo/enlproj/InfoPliststrings
/Matchismo/Imagesxcassets
/Matchismo/Imagesxcassets/AppIconappiconset
/Matchismo/Imagesxcassets/AppIconappiconset/Contentsjson
/Matchismo/Imagesxcassets/cardBackimageset
/Matchismo/Imagesxcassets/cardBackimageset/cardBack-1png
/Matchismo/Imagesxcassets/cardBackimageset/cardBackpng
/Matchismo/Imagesxcassets/cardBackimageset/Contentsjson
/Matchismo/Imagesxcassets/cardFrontimageset
/Matchismo/Imagesxcassets/cardFrontimageset/cardFront-1png
/Matchismo/Imagesxcassets/cardFrontimageset/cardFrontpng
/Matchismo/Imagesxcassets/cardFrontimageset/Contentsjson
/Matchismo/Imagesxcassets/Imageimageset
/Matchismo/Imagesxcassets/Imageimageset/Contentsjson
/Matchismo/Imagesxcassets/LaunchImagelaunchimage
/Matchismo/Imagesxcassets/LaunchImagelaunchimage/Contentsjson
/Matchismo/mainm
/Matchismo/Matchismo-Infoplist
/Matchismo/Matchismo-Prefixpch
/Matchismo/model
/Matchismo/model/CardMatchingGameh
/Matchismo/model/CardMatchingGamem
/Matchismo/PlayingCardh
/Matchismo/PlayingCardm
/Matchismo/PlayingCardDeckh
/Matchismo/PlayingCardDeckm
/Matchismoxcodeproj
/Matchismoxcodeproj/projectpbxproj
/Matchismoxcodeproj/projectxcworkspace
/Matchismoxcodeproj/projectxcworkspace/contentsxcworkspacedata
/Matchismoxcodeproj/projectxcworkspace/xcuserdata
/Matchismoxcodeproj/projectxcworkspace/xcuserdata/chrisxcuserdatad
/Matchismoxcodeproj/projectxcworkspace/xcuserdata/chrisxcuserdatad/UserInterfaceStatexcuserstate
/Matchismoxcodeproj/xcuserdata
/Matchismoxcodeproj/xcuserdata/chrisxcuserdatad
/Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcdebugger
/Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcdebugger/Breakpoints_v2xcbkptlist
/Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcschemes
/Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcschemes/Matchismoxcscheme
/Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcschemes/xcschememanagementplist
/MatchismoTests
/MatchismoTests/enlproj
/MatchismoTests/enlproj/InfoPliststrings
/MatchismoTests/MatchismoTests-Infoplist
/MatchismoTests/MatchismoTestsm
3)将文件导入到gitignore
bogon:Matchismo chris$ echo Matchismoxcodeproj/projectxcworkspace/xcuserdata/chrisxcuserdatad/UserInterfaceStatexcuserstate >gitignore
bogon:Matchismo chris$ cat gitignore
Matchismoxcodeproj/projectxcworkspace/xcuserdata/chrisxcuserdatad/UserInterfaceStatexcuserstate
4)在项目文件目录下 执行指令:git init
bogon:Matchismo chris$ git init
Initialized empty Git repository in /Users/chris/developer/Matchismo/git/
5)当前目录添加到git
bogon:Matchismo chris$ git add
bogon:Matchismo chris$ git commit -m "Now under sorce control” 第一次提交的注释
[master (root-commit) 3eb6864] Now under sorce control
37 files changed, 1643 insertions(+)
create mode 100644 gitignore
create mode 100644 Matchismoxcodeproj/projectpbxproj
create mode 100644 Matchismoxcodeproj/projectxcworkspace/contentsxcworkspacedata
create mode 100644 Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcdebugger/Breakpoints_v2xcbkptlist
create mode 100644 Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcschemes/Matchismoxcscheme
create mode 100644 Matchismoxcodeproj/xcuserdata/chrisxcuserdatad/xcschemes/xcschememanagementplist
create mode 100644 Matchismo/Baselproj/Mainstoryboard
create mode 100644 Matchismo/Cardh
create mode 100644 Matchismo/Cardm
create mode 100644 Matchismo/CardGameAppDelegateh
create mode 100644 Matchismo/CardGameAppDelegatem
create mode 100644 Matchismo/CardGameViewControllerh
create mode 100644 Matchismo/CardGameViewControllerm
create mode 100644 Matchismo/Deckh
create mode 100644 Matchismo/Deckm
create mode 100644 Matchismo/Imagesxcassets/AppIconappiconset/Contentsjson
create mode 100644 Matchismo/Imagesxcassets/Imageimageset/Contentsjson
create mode 100644 Matchismo/Imagesxcassets/LaunchImagelaunchimage/Contentsjson
create mode 100644 Matchismo/Imagesxcassets/cardBackimageset/Contentsjson
create mode 100644 Matchismo/Imagesxcassets/cardBackimageset/cardBack-1png
create mode 100644 Matchismo/Imagesxcassets/cardBackimageset/cardBackpng
create mode 100644 Matchismo/Imagesxcassets/cardFrontimageset/Contentsjson
create mode 100644 Matchismo/Imagesxcassets/cardFrontimageset/cardFront-1png
create mode 100644 Matchismo/Imagesxcassets/cardFrontimageset/cardFrontpng
create mode 100644 Matchismo/Matchismo-Infoplist
create mode 100644 Matchismo/Matchismo-Prefixpch
create mode 100644 Matchismo/PlayingCardh
create mode 100644 Matchismo/PlayingCardm
create mode 100644 Matchismo/PlayingCardDeckh
create mode 100644 Matchismo/PlayingCardDeckm
create mode 100644 Matchismo/enlproj/InfoPliststrings
create mode 100644 Matchismo/mainm
create mode 100644 Matchismo/model/CardMatchingGameh
create mode 100644 Matchismo/model/CardMatchingGamem
create mode 100644 MatchismoTests/MatchismoTests-Infoplist
create mode 100644 MatchismoTests/MatchismoTestsm
create mode 100644 MatchismoTests/enlproj/InfoPliststrings
bogon:Matchismo chris$

我们在windows上使用git的时候,有时候为了便利,直接采用git+tortoisegit的方式。这种方式可以带来很多的方便,不过在mac上,并没有tortoisegit的mac版本,不过有source
tree和gitX等工具。不过,今天主要不是讲这些客户端工具的使用,而是讲通过终端命令安装git的步骤及注意事项。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存