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 ...
随机推荐
- numpy:dot与multiply
http://blog.csdn.net/iamzhangzhuping/article/details/52370241
- SpringBoot获取配置文件的自定义参数
1.在application.properties中自定义参数 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datas ...
- LeetCode(111):二叉树的最小深度
Easy! 题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null ...
- 【sqli-labs】Less5~Less6
双注入原理: 来源: http://www.myhack58.com/Article/html/3/7/2016/73471.htm (非常详细的说明了原理,good) http://www.2cto ...
- Linux基础一:Linux的安装及相关配置
1. 计算机操作系统简介 1) 操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. 2) 操作系统的内核的定义:操作系统的内核是一 ...
- C++ Primer 笔记——异常处理
1.栈展开过程沿着嵌套函数的调用链不断查找,直到找到了与异常匹配的catch句子为止,或者也可能一直没找到匹配的catch,则程序将调用terminate,退出主函数后查找过程终止.假设找到了一个ca ...
- 论文阅读笔记三十四:DSSD: Deconvolutiona lSingle Shot Detector(CVPR2017)
论文源址:https://arxiv.org/abs/1701.06659 开源代码:https://github.com/MTCloudVision/mxnet-dssd 摘要 DSSD主要是向目标 ...
- IDEA复制项目操作
- Scrapy库的安装(windows版)
这个是需要安装的所有文件 1. wheel pip install wheel 2. lxml http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 3. P ...
- robocopy的用法,数据库局域网备份
robocopy,我主要是用来进行局域网数据库备份使用,不得不说这个小工具速度还是蛮快的,同时属于系统内置功能,用着还算方便. 这项功能就是RoboCopy,它是一个命令行的目录复制命令,自从Wind ...