linux github中文官网,GitHub使用简介

GitHub使用简介

1. 关于GitHub的常见使用方法,请参考官网上面的说明。本篇文档只是针对于常用的,而且容易犯错的用法进行说明。仅仅是个人观点。

2. 如何使用GitHub?

(1) 常用的是首先在GitHub上创建一个版本库,然后接下来的工作是在本机创建一个版本库,注意不一定要和原来那个版本的文件名相同。比如原来创建的版本为 HelloWorld,那么本机完全可以使用一个文件名为HelloRyan这样的文件夹。只是需要在后续操作中配置相应的信息即可。

(2) 本机创建文件夹后,需要进行Git的配置。首先git init来初始化一个版本库,然后需要建立和远程版本库的链接。这里使用git remote add命令来添加。

git remote add origin url

其中origin是你指定的url的别名,你完全可以取其他的名称。而url则是版本库信息对应的路径,这里在GitHub上面你创建的版本库上面,有一个SSH/HTTP/Git Read-Only这些选项,你需要的做的就是选择一个url,填写即可。比如

git remote add helloworld git@github.com:username/repname.git

(3) 建立起本机和远程的联系之后,还可以对Git进行简单配置,比如邮箱,用户名,比较工具啥的,由于本文不是初级教程,所以此部分内容略。详见官方文档。

(4) 本机进行工程开发,比如新建文件,然后提交。等等

(5) 保证和远程同步,因此需要将本机的版本库push到远程上去,为此使用:

git push origin branch

其中,origin就是刚刚取的别名,比如是helloworld,而后面的就是要推送到的分支名,比如master。具体就看你本机和远程的分支,对应的别名了。

(6) 完成了上述修改后,可能会在另外一个场合拉取代码,此时还是相同的步骤,创建一个文件夹,git init来初始化版本库,然后同样git remote add xxx xxx。

接下来的任务就是执行pull命令:git pull xxx branch(其中xxx就是前面的origin,helloworld这些别名)。

简单的用法就介绍到这里。

下面说说一些用到的体会,总结。

(1) 首先是关于git remote add xxx xxx这个用法。这个做法是取别名,避免了每次都要输入完整的路径名,当然,你也可以这么做,当然没问题。

比如:git pull url master,就是把远程的url这个拉取到本机的master分支上。

可是每次都这么做多麻烦,为此使用别名,以后就直接通过别名来push,pull。

实际上,昨晚这个工作后,会在.git目录下面的config文件中写入一个项,用来指示该别名的信息,如下所示:

[remote "origin"]

fetch = +refs/heads/*:refs/remotes/origin/*

上面就是别名origin这个别名的信息。记录了目标远程版本库的地址。

(2) SSH方式还是HTTPS方式。

在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的。当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码。

比如,上面的url = git@github.com:xxx/rep.git使用的是ssh方式,那么我进入一个版本库中,push到远程的时候,是不需要输入用户名和密码的,这个只在你初始时候使用到。而如果我的url是以https方式来做的话,如url = https://xxxx,这样我在进行更新,push或者pull的时候,都会提示你输入GitHub的帐号和密码的。实际上,GitHub是鼓励使用 ssh方式的,在官方文档也有说明,不过对于无法使用ssh服务的地方来说,https又多了一种方式,给用户也带来了方便。

(3) 常用的命令和Git的使用似乎并不需要有太多的说明,但是要想掌握这个工具还是需要很大的尝试和努力。这里推荐下图形化使用工具 TGit(Windows)以及gitg(Linux)版本。通过图形化工具能够帮助我们熟悉提交图,掌握基本的操作,有时候图形化界面能够极大的方便我们操作,比如右键可以打Tag,查看分支,所有分支,Diff等等。

在Windows下面,先要安装Git程序,然后安装TGit,指定Git路径,此时可以利用Cygwin的命令行界面来操作Git,同时可以在右键菜单中使用TGit来查看提交图。

在Linux下面,就直接使用命令行来工作,同时利用gitg等图形化工具来观察提交图等。

(4) 协同工作。在GitHub上面有很多开源项目可以参与到开发学习,可以搜索相关项目,fork该项目,然后在自己的版本库中就会出现,此时通过pull可以更新到本机,然后再进行开发,当你开发之后push上去,再通过向开发者发送请求让其了解到你进行的修复,然后他根据自己的判断是否采纳,更新版本库来决定是否让你的这次提交并入到版本库中。

(4)更多关于Github的使用请参见官网:https://github.com,里面讲述了如何从建立版本库到创建分支,管理版本库的知识。0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Win 7]Windows7 RC 简体中文版测试正式开始了哦!!

备受全世界关注的Windows7 RC ,于昨天晚上全球同步提供下载,在MSDN和Technet上已经同步提供下载,如果您是订阅用户可以立即下载体验了。微软已经宣布Windows 7RC的公开发布提起为5月5号!此次RC的发布,微软盛情邀请了10几位MVP参与…

bzoj 36733674 可持久化并查集加强版(可持久化线段树+启发式合并)

CCZ在2015年8月25日也就是初三暑假要结束的时候就已经能切这种题了%%% 学习了另一种启发式合并的方法,按秩合并,也就是按树的深度合并,实际上是和按树的大小一个道理,但是感觉(至少在这题上)更好处理一些。…

linux apache守护进程,Linux基础命令---httpd守护进程

httpdhttpd是apache超文本传输协议的主程序,它被设计成一个独立运行的守护进程。httpd会建立一个线程池来处理http请求。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法httpd [选项]2、参数列表选项说明-d serverroo…

银行家舍入VS四舍五入(下):.NET发现之旅(四)

接上节这一节继续讨论银行家舍入和四舍五入三&#xff0c;自己动手开发四舍五入组件<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />事实上四舍五入在很多项目中还经常使用&#xff0c;所以我们可以动手开发一个这样的组件&…

linux dd安装系统,通过DD命令安装Windows,并介绍几款DD镜像包

Loading...原则上仅适用于独立服务器&#xff0c;并未添加其他虚拟化驱动online/oneprovider/hetzner的服务器已经过测试可以正常使用首先进入服务器的救援系统进入救援系统后使用root权限输入以下命令&#xff0c;然后等待一段时间后可尝试远程连接win10LTSC&#xff1a;wget …

FMS3系列(六):使用远程共享对象(SharedObject)实现多人时时在线聊天(Flex | Flash)

FMS开发中&#xff0c;经常会使用共享对象来同步用户和存储数据。对于实现广播文字信息实现聊天的支持非常强大&#xff0c;还可以跟踪用户的时时动作&#xff0c;在开发Flash多人在线游戏中的应用也非常广阔。 在使用FMS开发共享对象时需要注意&#xff0c;只有使用Flash Medi…

linux原理 培训,Linux容器技术原理和使用

1.1 隔离和共享在一个多员共用的开发环境或者一台服务器运行多个逻辑隔离的服务器进程。谁的运行环境也不希望影响到另一个谁。也就是一个物理机器需要虚拟化出多个环境或者容器。通过提供一种创建和进入容器的方式&#xff0c;操作系统让应用程序就像在独立的机器上运行一样&a…

工业无线遥控器 SUNRF-1011RC

工业无线遥控器 SUNRF-1011RC工业无线遥控器产品 授权操作 一&#xff1a;简介&#xff1a;工业无线遥控器&#xff0c;是针对工业环境&#xff0c;专门设计的无线控制替代有线控制的方案。和有线控制一样&#xff0c;具有实时性、灵活性、多路同时操作、操作灵活顺畅无…

C语言封装带省略参数的函数,C与C++的函数声明中省略参数的不同意义

一直都以为C/C中形如int func();这样的函数声明其意义就是一个参数 void(没有参数)的函数。然而今天在看C的时候突然看到这么一句&#xff1a;对于带空参数表的函数&#xff0c;C和C有很大的不同。在C语言中&#xff0c;声明int func2();表示“一个可带任意参数(任意数目&#…