目录
1.Github简介
2.Github注册及仓库创建
3.Github的使用
4.Git的安装与配置
5.Git的使用
6.PyCharm中Github的使用
7.感想
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了Git代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过 350 万,托管版本数量也是非常之多,其中不乏知名开源项目Ruby on Rails、jQuery、Python等。2018 年 6 月 4 日,微软宣布,通过 75 亿美元的股票交易收购代码托管平台 GitHub。
作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
简而言之,Github中为广大程序员提供了一个主仓库来进行代码的存储,同时无论是在个人项目的编写或者团队协作的过程中,Github都为开发者提供了极大的便利,开发者不仅能参考及下载其他优秀开发者的代码,也可以实现个人、团队代码的管理。
首先,想要使用Github则对Git的掌握是十分必要的。
Git:是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。
GitHub:是一个网站,就是每个程序员自己写的程序,可以在Github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。
在Github上开源的著名项目以及世界顶尖公司也很多,在此处罗列几个供大家参考膜拜。
Google:https://github.com/google
Linux:https://github.com/torvalds/linux
Swift:https://github.com/apple/swift
Microsoft:https://github.com/microsoft
注册Github官网:https://github.com/
●注册界面:
由于Github网站为全英文,如果英文不好的同学建议使用谷歌浏览器的翻译功能,使用起来会变得更方便。在此界面填写用户名/邮箱/密码等信息进行注册,并完成简单的验证便可以注册成功,登录。
●登录界面:
输入注册成功后的账号密码进行登录。
●点击界面右上角加号:
在下拉菜单中选择New repository进行个人仓库的创建。
●仓库创建:
根据以上步骤创建成功后的仓库主页主要信息,各部分主要功能参照以下详细介绍。
功能名称 | 具体作用 |
Repository | 仓库的意思,即你的项目,你想在Github上面开源一个项目,那就必须的创建一个Repostitory,如果你开源的项目多了,就拥有了多个Repostitory |
Pull Reques |
指开发者在本地对源代码进行更改后,向 GitHub中 托管的Git仓库请求合并的功能。也可以向别人的仓库提出申请,请求对方合并 |
Wiki | 何人都能随时对一篇文章进行更改并保存,因此可以多人共同完成一篇文章。该功能常用在开发文档或手册的编写中,改版的历史记录也会被切实保存下来 |
Issue | 追踪和管理一个任务或问题的功能。可以像 BUG 管理系统或 TiDD(Ticket-driven Development)的 Ticket一样使用。在 GitHub上,每当进行Pull Request, 都会同时创建一个 Issue |
Watch | 是指关注这个项目的人数。对于你已经Watch过的项目,如果该仓库有改动,就会在News Feed上优先显示 |
Fork | 将GitHub的某个特定仓库(所有文件)原封不动地复制到自己的账户下(但不会与原仓库相同)。以此实现分散式版本管理 |
Branch | 分支是一次在不同版本的存储库上工作的方式。 |
●仓库中创建文件:
创建的文件可以是项目的代码,或者关于项目的一些描述文本信息。
●仓库中提交编辑信息:
提交添加文件或者修改文件的意图,利于团队合作更高效的进行。
●仓库中查看提交文件:
可以根据需要点击文件名或者详细描述,查看该文件的具体描述或者相关修改信息。
●仓库中文件的编辑删除
按照上述描述,点击文件名后跳转到以下页面,按照以下描述可以对文件进行一系列的操作。
分别可以将文件显示到Github桌面(此功能要安装相应Github客户端)、修改/编辑该文件、删除该文件。
●仓库中文件下载
可以利用Git下载或者直接下载项目的Zip格式压缩包。可以根据自身需要对仓库中的项目文件进行相应的操作。
可以利用Git下载或者直接下载项目的Zip格式压缩包。可以根据自身需要对仓库中的项目文件进行相应的操作。
Git下载连接:https://git-scm.com/downloads
选择与自己系统相符的版本进行下载。
●选择安装路径
选择了安装路径后,之后的选项可以一直按照按默认选项,Next到完成安装。
●获取SSH KEY
在安装好Git后打开Git Bash,输入下列代码获取本机的密钥。获取之后,在你的GitHub账号里输入之后,你的电脑就和你的GitHub账号联系在一起了,这样以后就可以十分方便的通过Git Bash 随时上传代码。
SSH KEY的获取仅需复制以下代码,添加自己注册时的邮箱按下回车即可。
ssh-keygen -t rsa -C "注册时的邮箱地址"
输入代码后按照系统默认的ssh key的存储地址,回车直到出现上述界面则代表本地的密钥已经成功创建。
●复制SSH KEY密钥
可以按照上述界面中的默认安装路径找到密钥文件,打开复制其中内容,或者通过下列代码直接获取密钥。
clip < ~/.ssh/id_rsa.pub
出现很长的一大段就是本地的密钥。
●在Github中绑定SSH KEY密钥
登录Github,在右上角个人下拉菜单中找到Settings点击。
点击New SSH key进行添加即可。
●检查是否绑定成功及信息完善
ssh -T git@github.com
输入上述代码检查是否成功绑定。
若提示:You‘ve successfully authenticated, but GitHub does not provide shell access ,则说明绑定成功,还需进一步对自己的姓名和邮箱进行设置。复制以下代码即可。
git config --global user.name"你的名字" git config --global user.email"你的邮箱"
5.Git的使用
●利用Git克隆前准备
打开Git Bash窗口,利用cd指令切换到自己想要克隆的路径下,例如想要切换到E盘则在窗口中输入cd/E进行切换。
●利用Git对代码库进行克隆下载
切换到自己想要的指定路径后,用以下代码在Git Bash中进行克隆。在此我就用本文前面创建步骤中创建的库进行克隆,同理对别人代码使用Git克隆与此同理。
git clone+库地址
可以看到克隆后在我的本地便可以找到之前在Github库中创建的相关文件。
●Git最主要的三个命令
命令 | 功能 |
git add | 添加到暂存区 |
git commit | 提交到版本库 |
git push | 提交到远端 |
以上三个命令为Git中最主要的三个命令,其余的Git命令实际在一定程度上是为这三个命令进行服务的。以下将介绍这三个命令的拓展命令及具体作用。
●git add拓展命令
命令 | 功能 |
git add . | 将工作区的变化提交到暂存区,包括文件修改和新增,但是不包括删除的文件 |
git add -u | 将工作区的变化提交到暂存区,包括文件修改和删除,但是不包括新增的文件 |
git add -A | 将工作区的变化提交到暂存区,包括新增,删除和修改的所有内容 |
git add -i | 将工作区的变化提交到暂存区,进入交互模式选择文件进行操作 |
git add [filename] | 将工作区的变化提交到暂存区,选定某一个文件进行提交 |
●git commit拓展命令
命令 | 功能 |
git commit -m “msg” |
将修改从暂存区提交到版本库中,msg指的是本次提交的信息 |
git commit --amend | 修改上次提交的信息,会出现一个交互界面,相当于本次提交和上次提交合并为一个提交 |
git commit --amend -m “msg” | 修改上次提交的信息,不会出现一个交互界面,相当于本次提交和上次提交合并为一个提交 |
●版本库创建
版本库就是上述提到过的 “仓库”,英文名repository,你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件“还原”。
命令解析:
cd:进入某个目录
mkdir:创建一个文件
pwd:显示当前的目录路径
以上过程就是我利用Git Bash创建代码库的过程。
●把文件添加到版本库中
要了解到的是,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码这些文件等。Git也是如此,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。
第一步:使用命令 git add readme.txt添加到暂存区里面去。
第二步:用命令 git commit告诉Git,把文件提交到仓库。
●附 git其余常用基本命令
mkdir: // XX (创建一个空目录 XX指目录名) pwd: // 显示当前目录的路径。 git init //把当前的目录变成可以管理的git仓库,生成隐藏.git文件。 git status //查看仓库状态 git diff XX // 查看XX文件修改了那些内容 git log //查看历史记录 git reset --hard HEAD^ //或者 git reset --hard HEAD~ 回退到上一个版本(如果想回退到100个版本,使用git reset –hard HEAD~100 ) cat XX //查看XX文件内容 git reflog //查看历史记录的版本号id git checkout -- XX //把XX文件在工作区的修改全部撤销。 git rm XX //删除XX文件 git remote add origin https://github.com/-- //关联一个远程库 git push –u origin master // –u(第一次要用-u 以后不需要)把当前master分支推送到远程库 git clone https://github.com/--- // 从远程库中克隆 git checkout –b dev //创建dev分支 并切换到dev分支上 git branch //查看当前所有的分支 git checkout master// 切换回master分支 git merge dev //在当前的分支上合并dev分支 git branch –d dev //删除dev分支 git branch name //创建分支 git stash //把当前的工作隐藏起来 等以后恢复现场后继续工作 git stash list //查看所有被隐藏的文件列表 git stash apply //恢复被隐藏的文件,但是内容不删除 git stash drop //删除文件 git stash pop //恢复文件的同时 也删除文件 git remote //查看远程库的信息 git remote –v //查看远程库的详细信息 git push origin master //Git会把master分支推送到远程库对应的远程分支上
声明由于我的项目实例是基于Python开发,所以以PyCharm中Github的应用为例子,若基于Android开发的项目,可以在网上搜寻其他关于AS配置Github的教程,此处仅以PyCharm举例介绍。
●打开PyCharm的设置菜单
●对Github进行相应配置
找到Version Control下拉菜单中的Github设置,输入注册的Github账号以及密码进行添加。
●对Git进行相应配置
同理Git的设置也如此,此处系统自动选择了git的安装路径,若系统未自动选择,可以按照Git的安装路径手动进行选择。
●利用PyCharm上传项目
按照图中指示打开VCS中,选择Share Project on GitHub即可,点击后选择需要上传的代码文件即可上传到Github中。
●利用PyCharm下载(克隆)项目
同理打开VCS下拉菜单中的Checkout from Version Control即可选择Github进行对已有项目的下载。
Github作为一款软件项目的托管平台,其意义所在之处远超出了单一的代码管理。无论是项目的开发还是个人的学习,Github无疑都是一个很好的选择。作为一名IT路上还需不断奋斗的我来说,Github上的大牛是我膜拜的对象,这种类似于社交化的编程方式让我能够真真切切体会到大牛如何编程,让我从实践中得到一定的锻炼,收获颇丰。
注:自知学艺不精,水平尚浅,文中若有错误之处,欢迎指出。有什么好的想法和建议,欢迎在评论区一同探讨。
原文:https://www.cnblogs.com/KeyLpart2/p/12977781.html