(博主原创文章,转载请注明出处: 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入门和项目托管的更多相关文章

  1. 手把手教你最简单的开源项目托管GitHub入门教程

    自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难免少不了 ...

  2. 转 手把手教你最简单的开源项目托管GitHub入门教程

    传送门 自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难 ...

  3. github入门到上传本地项目【网上资源整合】

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...

  4. github入门到上传本地项目

    GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好. GitHub可以免费使用,并且快速稳定.即使是付费帐户,每个月不超过10美刀的费用也非常便宜. ...

  5. iOS开发拓展篇——如何把项目托管到GitHub

    iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注 ...

  6. 【github&&git】2、github入门到上传本地项目

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...

  7. <转>github入门到上传本地项目

    转自 http://www.cnblogs.com/specter45/p/github.html GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更 ...

  8. 将项目托管到GitHub实现步骤

    修改于:2017.1.14 第一步:先注册一个Github的账号 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,但是它们并不等同. gi ...

  9. 如何把项目托管到GitHub

    第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同. gitHub是全球最 ...

随机推荐

  1. P1820 【寻找AP数】

    超级题目链接 这题程序实现其实并不难,难的是数学的思想及证明,这在真正的比赛考场上其实是不容易想到的 去年的年赛题目也是在往更难的数学思想上靠拢,并不是一味的编程,需要一定的数学基础 这个..数学性质 ...

  2. Centos7 安装多版本php 并添加swoole拓展

    服务器默认安装了php7 直接使用lnmp工具包安装php5.6 使用之前的lnmp安装包,切换到root sudo su - 运行 选择5.6 安装完成 没有安装swoole拓展 由官方https: ...

  3. elasticsearch 7.x 如何满足mysql中的模糊查询功能(like)

    业务场景:筛选项原功能是用mysql左模糊进行过滤查询,现业务要用es,怎么样才能满足原功能,又不损性能. elasticsearch中有关于模糊查询的操作:wildcard 文档:https://b ...

  4. 修改state(react)中的某一个对象中的单个参数

    react项目中我们经常会涉及到修改state中参数的问题,如果参数为常用的基本类型变量,我们可以直接通过this.setState({...})方法来进行修改,但是如果变量为一个对象我们要如何修改呢 ...

  5. Linux 常用服务器命令

    1.查看端口号是否被占用 netstat -lnp|grep 端口 或 lsof -i :端口 2查看进程对应的端口号 netstat -nap | grep 进程号

  6. Longest Palindromic Subsequence

    Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...

  7. SVN随笔记录(二)

    二.TortoiseSVN操作 1.下载,安装,过程中需要勾选x ,目的是为了后期绑定idea 2.如果点击后出现一系列的找不到目标文件提示,重启电脑 3.重启后,绑定仓库路径 4.一般情况输入账号密 ...

  8. (模拟)关于进制的瞎搞---You Are Given a Decimal String...(Educational Codeforces Round 70 (Rated for Div. 2))

    题目链接:https://codeforc.es/contest/1202/problem/B 题意: 给你一串数,问你插入最少多少数可以使x-y型机器(每次+x或+y的机器,机器每次只取最低位--% ...

  9. session的垃圾回收机制

    session.gc_maxlifetime session.gc_probability session.gc_divisor session.gc_divisor 与 session.gc_pro ...

  10. 使用Python基于VGG/CTPN/CRNN的自然场景文字方向检测/区域检测/不定长OCR识别

    GitHub:https://github.com/pengcao/chinese_ocr https://github.com/xiaofengShi/CHINESE-OCR |-angle 基于V ...