GitHub入门和项目托管
(博主原创文章,转载请注明出处: http://www.cnblogs.com/xianlei/git)
前言:
本文目标:
Git入门,能够在Github托管项目,能够进行实际项目开发
本文主要内容:
- GitHub 的简单使用
- Git 基本命令实战
- Git 连接远程仓库
- Eclipse 进行Git项目开发
GitHub的简单使用
一、注册用户并创建仓库
1、注册
进入官网地址:github.com
点击右上角Sign up , 输入账号邮箱密码 完成用户注册。
2、新建仓库
在头像左边的加号,选择New repository。
输入仓库名和描述(Description)
- Repository name: 仓库名称
- Description(可选): 仓库描述介绍
- Public, Private: 仓库权限(公开共享,私有或指定合作者)
- Initialize this repository with a README: 初始化文件 README.md
- gitignore: 不需要进行版本管理的仓库类型,对应生成文件 .gitignore
- license: 证书类型,对应生成文件 LICENSE
创建后如下:
- 如果创建时,选择了 Initialize this repository with a README ,则会自动生成一个 README.md 文件;
- 如果选择了 Add .gitignore ,则会自动生成 .gitignore 文件;如果选择 Add a license ,则会自动生成一个 LICENSE 文件
二、修改提交
1、编辑文件
以 README.md 文件为例,在上图中点击打开"README.md"文件
.点击右上角编辑图标进件编辑
2、预览修改
3、提交文件
三、创建分支(Fork)
fork 译为:分叉,在 Github 里,一个 fork 就相当于 repository 的一份拷贝,当然,这样你就可以在你自己帐号中的仓库里实验修改测试,而不会影响到原来的仓库内容的。
进入你要 fork 的仓库(repository)里,例如:进入zookeeper项目托管地址,点击Fork
https://github.com/apache/zookeeper
在自己仓库即可看到这个分支项目了
四、删除仓库
1、进入相应的仓库,选择工具栏中的"Setting"
2、然后往下拉 选择 Delete this repository
3、输入仓库名后确认,会提示输入GitHub账号密码,确认后即删除仓库。
GIT SHELL的基本使用
1.安装
1.1 官网下载地址。
http://code.google.com/p/msysgit/downloads/list
1.2 安装步骤next即可
1.3 安装完成后目录如下:
1.4 可以在cmd 输入git 或者 git--version 测试是否安装成功
2.基本命令实战
2.1 双击桌面上或安装目录的 git-bash.exe 程序. 进入自定义仓库目录
cd d:\
mkdir git
cd d:\git
2.2 设置git用户名,邮箱
$ git config --global user.name "YOUR NAME"
$ git config --global user.email "YOUR EMAIL ADDRESS"
$ git config --global push.default simple
$ git config –list 查看配置信息
2.3 创建仓库
创建新的文件并加入内容 master first add
$ git init 初始化当前目录为git仓库:
这时,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
$ git status 查看版本库状态。提示test.txt是没有加入到缓存区的
$ git add test.txt 将指定文件加入到缓存区
$ git add . 将所有文件加入到暂存区
$ git status 再次查看版本库状态。显示有新增文件test.text但尚未提交
$ git diff 查看不同,版本差异,如下所示
$ git commit -m “Your description” 提交到版本库并添加注释
$ git status 再次查看版本库状态,提示当前在master分支,没有任何文件需要提交了。
$ vi test.txt 第二次新增内容 maser second add
$ git diff 查看差异 有新增内容
$ git commit -am “Your description” 加入缓存区并提交
3.Git分支管理、
$ git branch 查看分支
$ git branch mySpring_v1.0 创建分支1.0版本
$ git checkout mySpring_v1.0 切换分支至1.0版本
分支修改文件并提交
切换到master 分支,没有分支提交的内容,则分支管理生效
3.1 分支合并
$ git merge 分支合并
3.2 冲突解决
1.master 修改第三行代码为 master update1,并且提交
2.mySpring_v1.0 修改第三行代码为 branch update 1, 并且提交。
如下图所示:
3.Master 合并 分支mySpring_v1.0
切换回Master分支,再次合并分支,提示合并文件有冲突。如下:
查看文件内容,出现冲突内容 。如下图:
文本内容:
<<<<<<< HEAD
Mster 修改的内容
===========
分支修改的内容
>>>>>>> Branch Name
解决办法:需要根据实际情况进行取舍, 然后再次提交到版本库,解决冲突
4. 其它常用命令
Git 查看日志
$ git log 查看历史提交记录
Git 版本回退
$ git reset --hard 73656ce37ccb0f6795fbecf541de011966ca8713
GIT 添加远程仓库
1.添加远程仓库
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要配置验证信息。执行一项命令
ssh-keygen -t rsa -C youremail@example.com
执行该命令时,会提示文件保存路径,默认为系统用户文件夹下的.ssh文件夹里
执行到这里,然后在ssh目录下多生成两个文件
然后把id_rsa.pub 文件里面的内容复制,需要贴到GitHub设置的SSH keys 里面。
或通过以下命令复制ssh key
clip < ~/.ssh/id_rsa.pu
1.在GitHub页面的右上角点击Setting
2.添加SSH key
3.验证SSH key 是否能连接成功,
ssh -T git@github
2.远程库与本地库的操作
1.在github上创建项目mySpring
2.继续执行下面操作
git remote add origin https://github.com/xianleii/mySpring.git
git push -u origin master
成功后会出现如下画面,输入自己github上的用户名和密码完成提交
如下,提交至远程仓库成功
如下,远程仓库同步成功
点进去,如图所示
我们发现提交的版本是回退之后的版本,那么如何回复到回退前的最新版本呢?
$ git reflog 执行命令查看所有的版本库提交记录并回去指针ID。如图:
$ git reset --hard 0e4b7d2 还原版本
$ git log 再次查看提交记录. 有了最新的提交记录,版本回退成功
$ git push origin master 再次同步本地仓库至Github远程仓库
如下图所示,文件正常,提交历史记录正常,版本恢复成功
Eclipse 进行Git项目开发
1. 通过克隆导入项目
2. 提交版本
增加一行代码
项目名右键team-->commit提交项目
选择Commit 就提交到本地了
选择 Commit and Push 同时会推送到远程仓库。
点击 Commit and Push,需要输入你在GitHub上的账号和密码
OK,成功推送至远程仓库。
但是在开发中呢,我们提交前一般都会先进行资源同步,对比无误后再提交。那么
选择项目右键--->选择同步工作空间 就可以获得与SVN一样的同步效果,确认无误后提交即可。
恭喜你,完成Git入门和项目托管学习!
快开启你的GitHub之旅吧 ~
图片太多,着实写了一个周末呢~
(博主原创文章,转载请注明出处: http://www.cnblogs.com/xianlei/git)
GitHub入门和项目托管的更多相关文章
- 手把手教你最简单的开源项目托管GitHub入门教程
自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难免少不了 ...
- 转 手把手教你最简单的开源项目托管GitHub入门教程
传送门 自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难 ...
- github入门到上传本地项目【网上资源整合】
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- github入门到上传本地项目
GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好. GitHub可以免费使用,并且快速稳定.即使是付费帐户,每个月不超过10美刀的费用也非常便宜. ...
- iOS开发拓展篇——如何把项目托管到GitHub
iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...
- 【github&&git】2、github入门到上传本地项目
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- <转>github入门到上传本地项目
转自 http://www.cnblogs.com/specter45/p/github.html GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更 ...
- 将项目托管到GitHub实现步骤
修改于:2017.1.14 第一步:先注册一个Github的账号 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,但是它们并不等同. gi ...
- 如何把项目托管到GitHub
第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同. gitHub是全球最 ...
随机推荐
- 【机器学习】深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值:如果含有不等式 ...
- 【Linux开发】linux设备驱动归纳总结(十二):简单的数码相框
linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- 蓝鲸-监控 排错思路 - 原理push - bkdata报错 - saas的日志
1.现象和报错 .[10.253.124.21] paas_agent() paas_agent FATAL Exited too quickly (process log may have deta ...
- PHP7 开启Zend Opcache
PHP7 开启Zend Opcache 作为PHP这10年来最大的版本与性能升级,PHP7在多次的测试中都表现出很夸张的性能提升,然而,为了让它能发挥出最大的性能,需要手动开启PHP自带的opcach ...
- 安装VMWare tools 及安装后/mnt中有hgfs但没共享文件的解决办法
一.首先是安装VMWare tools打开虚拟机软件,在菜单栏‘虚拟机’子菜单下‘安装VMware Tools' 1.以root身份进入Linux 2.此时把linux的/dev/cdrom设备挂载到 ...
- nginx文件路径配置(root|alias)
nginx指定文件路径主要有两种方式:root|alias. 那么他们究竟有什么区别呢? 指令的使用方法和作用域: [root] 语法:root path 默认值:root html 配置段:http ...
- Django2.2 连接mySQL数据库
一.Django2.2连接数据库(踩雷) 首先,Django2.2自带的是sqlite3数据库,但我们学的是mysql,因此学着连接(在mysql环境搭建成功的情况下)---参考博客: https:/ ...
- [转帖]浙江移动容器云在ARM服务器的实践
浙江移动容器云在ARM服务器的实践 2019-07-11 22:27 中文社区 分类:Kubernetes实践分享/开发实战 阅读(427) 评论(0) 国产ARM服务器上面跑K8S集群.. 貌似浪 ...
- 云数据库RDS SQL Server 版
云数据库RDS SQL Server版是一种可弹性伸缩的在线数据库服务,并具备自动监控.备份.容灾恢复等方面的全套解决方案,彻底解决数据库运维的烦恼 请观看视频简介 SQL Server是发行最早的商 ...
- 【图论好题】ABC #142 Task F Pure
题目大意 给定一个 $N$ 个点 $M$ 条边的有向图 $G$,无重边.自环.找出图 $G$ 的一个导出子图(induced subgraph) $G'$,且 $G'$ 中的每个点的入度和出度都是 1 ...