大连做网站优化公司,泰安微信网站建设,北京网站建设公司分形科技,个人网站备案没有座机一、Git服务器搭建 任务描述 虽然有提供托管代码服务的公共平台#xff0c;但是对一部分开发团队来说#xff0c;为了不泄露项目源代码、节省费用及为项目提供更好的安全保护#xff0c;往往需要搭建私有Git服务器用做远程仓库。Git服务器为团队的开发者们#xff0c;提供了…一、Git服务器搭建 任务描述 虽然有提供托管代码服务的公共平台但是对一部分开发团队来说为了不泄露项目源代码、节省费用及为项目提供更好的安全保护往往需要搭建私有Git服务器用做远程仓库。Git服务器为团队的开发者们提供了协作开发平台开发者可以基于私有的Git服务器进行项目开发。 本关任务搭建本地Git服务器。 相关知识 Git服务器必须搭建在Linux系统下因此必须准备一台运行Linux系统的主机这里我们推荐Ubuntu或者Debian系统。 #####搭建远程登录Git服务器 如果你已经有了一台运行Ubuntu系统的主机而且取得了root权限那么如果你想要在该主机上搭建Git服务器需要以下几个步骤。 安装并配置git 首先要在主机上安装git服务在Ubuntu下安装git只需要一条命令即可 sudo apt-get install git 这样就在该主机上安装了Git服务然后执行git config即可完成git的配置。 创建一个用户用来运行git服务的用户 创建一个专门的服务来运行git服务是为了使git服务和系统的其它服务不冲突。如果git服务可以在root权限下运行则以root用户使用git服务即可并不需要创建专门的用户去运行git服务。这里我们假设创建一个名为educoder的用户来运行git服务 sudo adduser educoder 这样就可以在educoder用户下运行git服务。 创建证书登录 虽然是私有的Git服务器但是也不能允许主机随意向Git服务器推送代码。因此必须将需要使用Git服务器即需要登录到Git服务器的主机的公钥即id_rsa.pub文件导入Git服务器的/home/git/.ssh/authorized_keys文件里一行一个。 初始化git仓库 然后就需要在主机下选定一个目录做为Git仓库。如果我们使用/tmp/educoder.git做为远程仓库则需要在/tmp目录下执行 sudo git init --bare educoder.git 这样Git就会创建一个空白的仓库里面没有内容也不存在工作区和暂存区。这是因为Git仓库只是为了托管代码所以不需要用户直接登录到Git服务器上去做修改。当我们创建了Git仓库之后对应第二步创建专门的用户来运行Git这一步需要将仓库的所属关系更改为相应用户即 sudo chown -R educoder:educoder educoder.git 禁用shell登录 出于安全考虑第二步创建的educoder用户不允许登录shell可以通过编辑/etc/passwd文件完成。找到类似下面的一行 git:x:1001:1001:,,,:/home/git:/bin/bash 改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell 这样eudcoder用户可以正常通过ssh使用git但是无法登录shell。 通过以上步骤就完成了Git服务器的搭建然后就可以通过Git命令克隆远程仓库并向远程仓库推送代码了 搭建本地Git服务器 但是在本实训中所有的用户都是在很高的权限下进行操作本实训的目的也是为了让用户体验私有Git服务器并掌握其搭建过程。因此本实训允许在root权限下运行git服务且需要以bash方式使用git操作。因此需要在本机搭建Git服务器且在本机执行克隆、推送等操作。为了满足这一要求只需以下步骤即可。 安装并配置git 方法同远程Git服务器搭建步骤1。 初始化git仓库 由于是在本机执行操作因此不需要证书管理则可以直接执行初始化Git仓库的操作。假设远程仓库地址为/home/sample.git则可以在/home目录下执行 sudo git init --bare sample.git 这样即可完成Git仓库的初始化。 由于需要在本地执行git操作因此也不需要设定Git服务器的登录方式。由在远程服务器搭建的步骤5中可知git默认支持bash操作因此也不需要再做改动。 由于需要在本地执行git操作因此也不需要设定Git服务器的登录方式。由在远程服务器搭建的步骤5中可知git默认支持bash操作因此也不需要再做改动。 仅需要以上两个步骤即可完成本地Git服务器搭建。该服务器允许通过bash和远程仓库操作且直接使用目录名做为远程仓库名。如果按照以上步骤生成了远程仓库/home/sample.git则可以直接在本机目录下执行如下格式的命令完成远程版本库的clone: git clone /home/sample.git 即可以直接把某个目录做为远程仓库。这种方式不是典型的远程仓库模式但是做为体验远程仓库的方法它简单方便可操作性强。因此本实训就只考察本地版本库的搭建而把远程仓库的搭建做为体验性内容由用户自己完成。 编程要求 平台已经为你提供了一台运行Ubuntu系统的Linux主机且已经为你安装了git但是尚未进行配置。本关的编程任务是补全右侧代码片段中Begin至End中间的脚本具体要求如下 配置git的用户名和邮箱在/tmp目录下初始化educode.git仓库即仓库地址为 /tmp/educoder.git。 #配置Git
git config --global user.email youexample.com
git config --global user.name Your Name#进入/tmp目录
cd /tmp#请在下方Begin/End星号线内填写git命令以初始化educoder.git仓库
#********** Begin **********#
git init --bare educoder.git
#********** End **********#
二、配置别名 任务描述 在操作Git的过程中我们经常需要手动敲入类似于git status或git checkout等命令。而status和checkout这些单词较长每次都要完整敲入的话不仅浪费时间而且还容易输错。如果可以为命令设置简写的话比如以git st来代替git status则会使操作变得更加简单方便。实际上Git允许我们为git命令设置别名以达到简化操作的目的。 本关任务为git命令设置别名。 相关知识 设置别名 设置别名需要使用的命令是git config --global alias其具体使用方法示例如下 #为status设置别名st
git config --global alias.st status 执行以上步骤即可将st设置为status的别名即执行 git st的效果等效于执行git status。 同样如果需要为其他命令设置别名也可以采用相同的方式 #为checkout设置别名co
$ git config --global alias.co checkout
#为commit设置别名ci
$ git config --global alias.ci commit
#为branch设置别名br
$ git config --global alias.br branch 需要指出的是--global参数是一个全局参数即设置的这些别名可以在这台主机的所有Git仓库下使用。如果不加这个参数则只对当前的仓库起作用。 删除别名 如果需要删除已经设置的别名的时候则需要执行以下步骤 删除所有别名 删除所有别名用到的命令为 git config [--global] --remove-section alias 其中--global是可选参数加上这个参数也将本主机所有git仓库下的别名都删除不加这个参数则仅删除本仓库下的别名。 删除指定别名 git config [--global] --unset alias.你的别名 同样的--global也是一个全局参数。如果要删除本主机所有仓库下的st别名则可以执行以下命令 git config --global --unset alias.st 查看别名 如果要查看当前主机已经设置了哪些别名则可以执行以下命令 git config --list | grep alias 会得到类似于alias.ststatus的信息这就是说系统当前已经为status设置了别名st。 本关的编程任务是补全右侧代码片段中Begin至End中间的脚本具体要求如下 为status设置全局别名st为checkout设置全局别名co为commit设置全局别名ci为branch设置全局别名br。 #请在下方Begin/End星号线内填写git命令为系统设置全局别名
#********** Begin **********#
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch#********** End **********#
三、公共版本库的使用之码云、Github 任务描述 本关任务在码云上创建自己的项目。 相关知识 Github和码云的介绍 GitHub是通过Git进行版本控制的软件源代码托管服务由GitHub公司曾称Logical Awesome的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。 GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库但是付费账户还可以创建私有的代码仓库。根据在2009年的Git用户调查GitHub是最流行的Git访问站点。除了允许个人和组织创建和访问保管中的代码以外它也提供了一些方便社会化共同软件开发的功能即一般人口中的社区功能包括允许用户追踪其他用户、组织、软件库的动态对软件代码的改动和bug提出评论等。GitHub也提供了图表功能用于概观显示开发者们怎样在代码库上工作以及软件的开发活跃程度。 码云 Gitee 最新独立域名是由开源中国出品旨在树立国内代码托管和协作开发的行业标杆灵活便捷地支撑个人、团队、企业的开发需求的产品。码云这一产品名称指代的是“代码”和“云平台云服务”。它和Github的区别是码云的私有库也是完全免费的它提供中文服务从而能够更好地服务国内开发者。码云分为企业版和个人版。企业版相对于个人版而言其针对国内中小型开发团队敏捷开发的实践需要除了代码托管之外重点强化了与代码联系最密切的项目/任务管理和文档功能。 码云 对于一个没有使用过码云的开发者来说如果要在码云上创建项目需要采用以下步骤。 注册 首先我们需要到码云主页面去注册一个账号码云的网址是https://gitee.com其主界面如下所示 点击右上角红色框内的注册按钮根据提示完成注册即可获得一个码云账号。 登陆后主界面如下所示 右上方红色框的加号按钮提供的下拉菜单有进一步的操作。 创建项目 点击右上方的加号按钮选择新建项目 之后进入新建项目界面其界面显示如下 从图中可以看到我们可以设置自己项目的名称并对自己的项目进行介绍。同时我们也可以设置自己项目所采用的语言并添加gitignore文件及添加开源许可证。在最下方我们也可以选择将我们的项目进行公开或者保持私有也可以选择初始化项目的方法。在项目介绍下方的三个下拉框内有更为详细的操作请自行注册体验。 当设置好我们的项目的细节后点击新建之后就完成了项目的创建 在项目详情的右上角有HTTPS以及SSH协议的远程仓库地址使用这个地址我们就能向向这个仓库推送代码。 推送代码 当在码云上创建了项目从而创建了代码仓库之后我们就可以向其推送代码如下图所示 我们在本地创建版本库并添加在上一步骤中创建的码云仓库做为远程仓库。使用pull操作拉取远程分支内容之后通过ls命令可以看到将远程仓库的README.md这一初始化文件拉取到了本地。随后我们添加helloGit文件并将其提价到本地仓库随后我们将其推送至远程仓库如下图所示 注意推送过程中会提示你输入用户名和密码这里需要使用注册用的邮箱和登录密码。 然后我们观察码云上的版本库可以看到 helloGit文件已被推送至码云上的代码仓库。 Github 创建并使用代码仓库 为了使用Github必须首先在其官网注册账号注册完成后点击右上角加号按钮创建仓库 然后配置新仓库的名称、描述信息、公开或者私有以及是否初始化等选项 之后就完成了仓库的创建在仓库的主界面我们可以看到如下界面 在界面右上角点击Clone or download按钮就能看到仓库的远程地址 之后就完成了仓库的创建在仓库的主界面我们可以看到如下界面 在界面右上角点击Clone or download按钮就能看到仓库的远程地址 但是仅有仓库地址还无法向其推送代码。因为Github要求认证主机即需要在项目的证书列表中添加主机的公钥。然后改主机才能向此仓库推送代码。点击Settings按钮选择Deploy keys选项可以看到如下界面 在右侧的Title输入框设置公钥的名称然后在下方的key输入框中写入相应主机的公钥然后该主机就能向该仓库推送代码。 Fork和Pull Request Github提供了fork功能。当我们发现某一个优秀的开源项目并想为项目贡献代码时点击fork即可复制该项目到自己的账户下的一个仓库。 在自己的仓库下进行修改后可向原项目发起pull Request以请求将自己的代码合并进原项目。项目发起方收到你的pull request后会对你的代码进行审核审核通过则会将你的修改合并到项目中去。这种模式也是目前流行的开源项目的发展模式。 Star 当你对一个项目很感兴趣想实时关注该项目的进展时可以star该项目这样当项目有改动时你就可以及时收到通知。 编程要求 本关的任务是在码云上注册账号并创建项目然后将此项目做为远程仓库地址向其master分支推送gitTraining.txt文件。具体要求如下 在码云上注册账号并创建项目向项目中推送gitTraining.txt文件将项目的版本库地址填入右侧Begin/End星号线内。 git remote add origin https://gitee.com/your_username/your_project.git