Github入门操作实录
到目前为止,我已经工作快5年了,这5年最大的感受就是,框架什么的并不难,只要知道api,就能用起来,一开始会遇到一点问题,但是天下的框架都大同小异,无非是jar包,配置文件,模板代码,jar包可以使用maven搞定,配置文件和模板代码,就需要相应的api了。到了我们这个年纪,似乎到了某个瓶颈期,如果只是满足于公司的项目,似乎就是在原地踏步,而程序猿的成长,是需要开源项目的。开源项目,大多数人会托管到github上,因为之前公司用的一直是svn,之前也接触过git,但是由于项目紧张或者其他原因,始终没弄清楚,所以近期就自己学习了一下,以下是我自己的一些操作实录。
首先需要的是注册一个github账号(https://github.com/),需要验证邮箱。其次是下载一个git客户端,如下图:

windows版本下载地址:https://git-scm.com/download/win
(linux版本:https://git-scm.com/download/linux)
下载安装,按照默认的来就行。
安装完成后,打开git-bash.exe

# 启动git-bash,执行以下命令,ssh-keygen 后面要输入你验证的邮箱
cd ~/.ssh
ssh-keygen -t rsa -C "593642275@qq.com"
# 此处要求你输入目录,默认不输入
cat ~/.ssh/id_rsa.pub
# 将文件内容贴到 https://github.com ( Settings--SSH keys--New SSH key ),就是相当于在线上github官网上面注册了ssh


# 此命令验证key(对于 Permanently added the RSA host key for IP address... 提示可以不用去管)
ssh -T git@github.com

# 把本地仓库传到github上去,设置username和email,因为github每次commit都会记录他们
git config --global user.name "aJavaBird"
git config --global user.email "593642275@qq.com"

好了,到目前为止,git已经设置得差不多了,之后就是导入项目进行测试了。
在github上面找到一个项目(比如我找的项目url是:https://github.com/aJavaBird/ChineseChess),开始检出github上面的项目
# 进入自己的仓库目录 D:\myWork\gitRepository(此目录可以是任意一个目录)
cd /D/myWork/gitRepository # 检出项目:https://github.com/aJavaBird/ChineseChess (注意最后要加上.git)
git clone https://github.com/aJavaBird/ChineseChess.git


好,代码已经成功检出了,我们可以在本地运行代码了,同时可以修改文件并提交了。
# 进入 D:\myWork\gitRepository\ChineseChess 目录,增加一个test.txt 文件,随便输入点内容
# 提交这个文件,commit 最后的那个参数是提交注释
git add test.txt
git commit -m "this is a test,here is comment"
git push origin master

这里push是提交到远程,master是远程分支的主干分支。将本地的 master 分支推送到 origin 主机的 master 分支。
你的代码库(repository)可以存放在你的电脑里,同时你也可以把代码库托管到Github的服务器上。在默认情况下,origin指向的就是你本地的代码库托管在Github上的版本。
以上就是新加和修改的操作。
如果我想新加一个分支呢?这里以另外一个项目举例:
# 查看当前分支
git branch
# 创建本地分支
git checkout -b 2019Branch
# 将本地分支推送到远端
git push origin 2019Branch
# 删除分支需要再github上面删除(看下面的图吧)





上面是新加分支,那么如果我想在github上面新建项目,然后上传新建的项目到github,怎么操作呢?
# 新建项目,并托管到Github上
# 首先去github上面新建一个repository(https://github.com/aJavaBird/testAdd)
git init
git remote add origin https://github.com/aJavaBird/testAdd.git
git add .
git status
git commit -m "add a project to github,for test"
git push -u origin master
# 删除github上的repository:进入这个repository,选择Settings,拖到最下面,点击“Delete this repository”(看图)




基本操作就是这些,对于操作,我觉得可以参考这里
还有一点可以说一下,就是我们打开一个别人的项目时,发现可以有3个操作:watch、star、fork,这3个操作都是对原作者的项目进行关注,但是这3者却也有差别。

Github入门操作实录的更多相关文章
- github入门操作
一.更新github上的已有项目: 将repository clone到本地 shanyu@debian:~/Git$ git clone https://github.com/xunbu7/Hell ...
- github入门到上传本地项目【网上资源整合】
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- github入门到上传本地项目
GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好. GitHub可以免费使用,并且快速稳定.即使是付费帐户,每个月不超过10美刀的费用也非常便宜. ...
- 《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)
<Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌 简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作 ...
- 服务端技术进阶(八)GitHub入门篇
服务端技术进阶(八)GitHub入门篇 前言 在投递简历的过程中,发现有的公司会要求填写自己的GitHub地址,而自己却还没有GitHub帐号,准确点说是自己还不太会使用GitHub.(貌似开源社区中 ...
- Github入门详情教程
前言 之前我写了一篇文章<一篇文章了解Github和Git教程>还延伸了几篇阅读,对大部分小白很有用,那么我继续普及下Github页面及其概念. 定义 GitHub 是一个网站,一个面向开 ...
- Mycat 中间件配置初探与入门操作
Mycat中间件配置初探与入门操作 By:授客 QQ:1033553122 实践环境 Mycat-server-1.5.1-RELEASE-20161130213509-win.tar.gz 下载地址 ...
- EF+LINQ事物处理 C# 使用NLog记录日志入门操作 ASP.NET MVC多语言 仿微软网站效果(转) 详解C#特性和反射(一) c# API接受图片文件以Base64格式上传图片 .NET读取json数据并绑定到对象
EF+LINQ事物处理 在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作 ...
- Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍
系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...
随机推荐
- checkbox 选中的id拼接长字符串
需求描述:为了做一个批量操作,需要获取到checkbox选中的项的id,并且把选中的id拼接成字符串. 解决思路:先获取到checkbox选中项,然后拼接.(这tm不废话么),问题的关键就是获取che ...
- laravel 队列发送邮件
批量处理任务的场景在我们开发中是经常使用的,比如邮件群发,消息通知,短信,秒杀等等,我们需要将这个耗时的操作放在队列中来处理,从而大幅度缩短Web请求和相应的时间.下面讲解下Laravel中队列的使用 ...
- tmk射气球
问题 : tmk射气球 时间限制: 1 Sec 内存限制: 128 MB 题目描述 有一天TMK在做一个飞艇环游世界,突然他发现有一个气球沿匀速沿直线飘过,tmk想起了他飞艇上有一把弓,他打算拿弓去 ...
- Yslow web性能测试插件
YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. YSlow可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSlow会列出具体的修 ...
- jquery 笔记 点击周围区域子类隐藏,点击子类内部的信息 不隐藏
zilei.click(ev){ var e = ev||event; e.stopPropagation(); //dosomething } $(document).click(function( ...
- 全局安装的 webpack运行时 报错 Error: Cannot find module 'webpack' ......
全局安装的webpack 安装指令如下 cnpm install wepack -save-dev -g 但是 在我的项目空间运行webpack指令的时候 会报如下错误 为了方便抓取{ Error ...
- Python入门:求1-2+3-4+5...99的所有数的和
num =1 sum =0 while num <=99: if num % 2 ==1: sum = sum + num num =num +1 print(sum) 2.求1-2+3-4+5 ...
- VS2015 生成事件 命令参数
来源:https://stackoverflow.com/questions/11001822/copy-files-from-one-project-to-another-using-post-bu ...
- mysql存储过程的学习(mysql提高执行效率之进阶过程)
1:存储过程: 答:存储过程是sql语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理:存储过程存储在数据库内,可以由应用程序调用执行,而且允许用户声明变量以及进行流程控制,存储类型可以接受 ...
- linux操作系统中的netstat命令查看端口状态的使用和window操作系统查看端口号
1:linux操作系统 netstat 命令用于显示各种网络相关信息,即网络状态.而我主要使用netstat查看端口号是否启动: 参数详情: 1 -a (all)显示所有选项,默认不显示LISTEN相 ...