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 ...
随机推荐
- 用json获取拉钩网的信息
class LaoGo(object): def __init__(self): self.url="http://www.lagou.com/lbs/getAllCitySearchLab ...
- EasyUI Layout 布局
1.在整个页面上创建布局(Layout) <!DOCTYPE html> <html> <head> <title>吹泡泡的魚-主页</title ...
- spring boot 自动配置原理
1).spring boot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration,先看一下启动类的main方法 public ConfigurableApplic ...
- list的add()方法与addAll()方法简介
简单描述:月读别人的代码,发现了一个有意思的东西,list的一个方法,addAll(),然后就去度娘了一下,发现这个还挺有用的. 吐槽一下:为什么自己没发现这个方法呢?因为平时自己写list的时候,基 ...
- mysql中的sql
变量 用户变量: 在用户变量前加@ 系统变量: 在系统变量前加@@ 运算符 算术运算符有: +(加), -(减), * (乘), / (除) 和% (求模) 五中运算 位运算符有: & (位于 ...
- vue中 裁剪,预览,上传图片 的插件
参考地址: https://github.com/dai-siki/vue-image-crop-upload
- zoj3471 状态压缩dp基础
/* dp[S]表示状态S下的最大收益,0表示没有了,1表示还在 */ #include<bits/stdc++.h> using namespace std; <<],mp[ ...
- spring cloud 声明式rest客户端feign调用远程http服务
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.Feign就是Spring Cloud提供的一种声明式R ...
- Java+selenium之WebDriver的cookie,等待等高级操作(五)
1. 操作cookie // 增加一个 name = "name",value="value" 的 cookie Cookie cookie = new Coo ...
- Lua中assert( )函数的使用
当Lua遇到不期望的情况时就会抛出错误,比如:两个非数字进行相加:调用一个非函数的变量:访问表中不存在的值等.你也可以通过调用error函数显示的抛出错误,error的参数是要抛出的错误信息. ass ...