赞
踩
虽说是2015的书,但是大体和现在出入不是特别大,读了之后给人的非常系统的感觉。作者把一本入门级的技术使用说明的清楚明白,简单易懂。
GitHub是为开发者提供Git仓库的托管服务。这是一个让开发者与朋友、同事、同学及陌生人共享代码的完美场所。GitHub除提供Git仓库的托管服务外,还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写。
GitHub与Git是完全不同的两个东西。在Git中,开发者将源代码存入名叫“Git仓库”的资料库中并加以使用。而GitHub则是在网络上提供Git仓库的一项服务。
也就是说,GitHub上公开的软件源代码全都由Git进行管理。理解Git,是熟练运用GitHub的关键所在。Git的相关知识,我们将在第2章中为您详细讲解。
协作形式变化、在开发者之间引发化学反应的Pull Request、对特定用户进行评论、GitHub Flavored Markdown、能看到更多其他团队的软件、与开源软件相同的开发模式、社会化编程,能同时关注人与代码,是GitHub为我们带来的一个新的世界。
Git仓库、Organization、Issue、Wiki、Pull Request、 Projects等。
请科学上网,然后登录GitHub注册一个账户先。
Git仓库管理功能是GitHub的核心。因此,使用GitHub之前必须先掌握Git的相关知识,同时本地的设备还要安装Git的环境。
Git工具有很多,命令行、GUI、IDE集成等等(GitHub for Desktop、Source Tree、TortoiseGit(只针对windows)、Xcode、Visual Studio)。
我这里选择了Git-2.34.0-64-bit.exe,GUI版本选择了Source Tree。
安装就是基本一路下一步就好。
首先来设置使用Git时的姓名和邮箱地址,不设置后面也会被强迫设置。
- git config --global user.name "aaa"
- git config --global user.email "aaa@gmail.com"
进入命令行输入下面的命令,邮箱替换成注册GitHub时候的邮箱,密码也要记住,后面会用。
输入密码后会显示如下:
id_rsa文件是私有密钥,id_rsa.pub是公开密钥。
在GitHub中添加公开密钥,今后就可以用私有密钥进行认证了。点击右上角的账户设定按钮(Account Settings),选择SSH Keys菜单后,就会出现如图3.2的界面。点击Add SSH Key,会出现Title和Key两个输入框。在Title中输入适当的密钥名称。Key部分请粘贴id_rsa.pub文件里的内容。
添加成功之后,创建账户时所用的邮箱会接到一封提示“公共密钥添加完成”的邮件。
完成以上设置后,就可以用手中的私人密钥与GitHub进行认证和通信了。让我们来实际试一试。
出现如下结果即为成功。如果不成功请优先检查科学上网的环境,其它可能性不太大。
实际创建一个公开的仓库。点击右上角工具栏里的New repository图标,创建新的仓库。添加相关信息创建即可。
上一步创建完仓库之后,会看到git@github.com:usernname/你的仓库,这样的一个地址。在命令行界面定位到一个满意的磁盘位置运行如下git clone ‘git地址’,命令就会把仓库克隆到本地,空的仓库也可以。
这里会要求输入GitHub上设置的公开密钥的密码。认证成功后,仓库便会被clone至仓库名后的目录中。将想要公开的代码提交至这个仓库再push到GitHub的仓库中,代码便会被公开(如果你的仓库是public的)。
在上一步已经clone完成之后,再对应文件夹内创建一个代码文件,比如hello_world.php文件,用来输出“Hello World! ”。
由于hello_word.php还没有添加至Git仓库,所以显示为Untracked files。
将hello_word.php提交至仓库。这样一来,这个文件就进入了版本管理系统的管理之下。今后的更改管理都交由Git进行。
上图进行add之后,又进行了commit。之后可以通过git log命令查看提交日志。
之后只要执行push, GitHub上的仓库就会被更新,如果push不成功通常都是网络问题,请再次确保科学上网的环境。
如果是先再本地创建仓库,大致流程如下:
1、git init——初始化仓库,该写代码写代码,该干嘛干嘛。
2、如果需要关联到远程仓库,则先在GitHub上创建一个仓库,并将其设置为本地仓库的远程仓库。在GitHub上创建的仓库路径为“git@github.com:用户名 /git-tutorial.git”。现在我们用git remote add命令将它设置成本地仓库的远程仓库。
按照上述格式执行git remote add命令之后,Git会自动将git@github.com:github-book/git-tutorial.git远程仓库的名称设置为origin(标识符)。
3、如果想将当前分支下本地仓库中的内容推送给远程仓库,需要用到git push命令。现在假定我们在master分支下进行操作。
像这样执行git push命令,当前分支的内容就会被推送给远程仓库origin的master分支。-u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)。添加了这个参数,将来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从origin的master分支获取内容,省去了另外添加参数的麻烦。
执行该操作后,当前本地仓库master分支的内容将会被推送到GitHub的远程仓库中。在GitHub上也可以确认远程master分支的内容和本地master分支相同。
这里使用了Sourcetree,安装完成之后,界面大致如下,首先再工具-》选项-》一般内找到SSH客户端,切换到OpenSSH,会自动寻找我们创建的私钥。
GUI版本就一目了然了,提交就是提交到本地仓库,拉取和推送都是针对远端仓库的,还有其它等均可视化,也有命令行模式。
下面链接是安装Git软件时自带的GUI的使用教程,这个GUI界面略显简陋。
比如分支的创建、显示分支、分支的提交、回溯历史版本、比较功能等等
个人信息、仓库、公开活动、统计等等,类似网站地图说明
主要介绍了如何尝试和接收的具体操作步骤和流程。
hub命令、Travis CI、Coveralls、Gemnasium、Code Climate、Jenkins等。
主要介绍了GitHub Flow——以部署为中心的开发模式。
列举了优势和劣势。
在.git 同级目录下创建.gitignore,需要注意的如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交。参考下面链接。
主要原因:是上传时候,其实不止是push当前版本,还要push所有历史版本,如果之前某次commit没有上传,那么这个历史版本也要默认被再次push。
解决方法:使用git log查看所有版本,找到并reset,然后再add-》commit-》push。
撤销commit请参考以下链接。
这里提供两个最常用的镜像地址:
https://github.com.cnpmjs.org
https://hub.fastgit.org
fatal: unable to access 'https://github.com/xxxx/': OpenSSL SSL_read: Connection was reset, errno 10054
解决办法
- git config --global http.sslVerify "false"
- git config --globa http.postBuffer 524288000
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。