Github教程(1)
Git基本命令
git diff:查看工作树,暂存区,最新提交之间的差别
举例:
在README.MD中增加一行
## This is the subtitle
执行git diff 命令,查看当前工作树和暂存区的区别。
$ git diff diff --git a/README.md b/README.md index fec5601..203cf31 --- a/README.md +++ b/README.md @@ - +, @@ # Hello +## This is the subtitle
说明:"+"表示新添加的行,"-"表示删除的行,由结果可知:增加了:## This is the subtitle
执行
git add README.md
将README.md文件加入暂存区
执行git diff HEAD 可以查看暂存区和最新提交的差别。
$ git diff HEAD diff --git a/README.md b/README.md index fec5601..203cf31 --- a/README.md +++ b/README.md @@ - +, @@ # Hello +## This is the subtitle
执行
git commit –m "this is your description"
将文件提交。
git branch:显示分支列表,并标识当前所在分支
$ git branch * master
git checkout –b:创建并且切换分支
$ git checkout -b branch-a M README.md Switched to a new branch 'branch-a'
此时再运行git branch,显示当前分支为branch-a
$ git branch * branch-a Master
在branch-a这个分支操作并提交代码,代码回提交到branch-a这个分支而不会提交到master分支。
举例:
在branch –a这个分支中修改README.md文件,增加一行:## this is branch-a 并提交,
$ git diff diff --git a/README.md b/README.md index fec5601..803aa74 --- a/README.md +++ b/README.md @@ - +, @@ # Hello +## This is the subtitle + +## this is branch-a
切换至master分支
$ git checkout master Switched to branch 'master' Your branch is up-to-date with 'origin/master'.
查看master中的README.md文件,无增加行。
$ cat README.md # Hello
git merge:合并分支
首先我们切换回master分支,
$ git checkout master Switched to branch 'master' Your branch is up-to-date with 'origin/master'.
然后,合并master和branch-a这个分支
执行:
git merge --no-ff branch-a
系统提示合并之前需要输入一些描述信息,按ESC并输入 :wq退出即可,
$ git merge --no-ff branch-a Merge made by the 'recursive' strategy. README.md | +++ file changed, insertions(+)
git log:查看历史提交记录
commit 182053ec7e8683e381996c683a7b04f43be57bd3 Merge: b1444e3 2806d72 Author: zenghui <zengh927@.com> Date: Tue Dec :: + Merge branch 'branch-a' commit 2806d720ed728ca55cc32c3091879eae8c8b5b5e Author: zenghui <zengh927@.com> Date: Tue Dec :: + add branch-a commit b1444e36a2df109ce5414f5f00fd1ea97f3c1492 Author: zenghui <zengh927@.com> Date: Mon Dec :: + Add T.java File commit 0f2c6b68e711d74e35490bec6e6d8ab01e6a29d9 Author: GreyZeng <@qq.com> Date: Mon Dec :: +
git reset --hard + 哈希值:回溯到指定版本
执行:
$ git reset --hard b1444e36a2df109ce5414f5f00fd1ea97f3c1492 HEAD is now at b1444e3 Add T.java File
回溯到branch-a分支创建之前。
处理冲突
举例:
在master的README.md中增加一行:## FROM MASTER并提交
合并master和branch-a分支
$ git merge --no-ff branch-a Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result.
显示冲突
用编辑器打开README.md文件发现:
# Hello
<<<<<<< HEAD
## FROM MASTER
=======
## This is the subtitle
## this is branch-a
>>>>>>> branch-a
此时,只要手动修改一下文件:
# Hello
## FROM MASTER
## This is the subtitle
## this is branch-a
再次执行git add 和 git commit 即可
git push:推送至远程仓库
推送master到远程仓库:
$ git push -u origin master Counting objects: , done. Delta compression using up to threads. Compressing objects: % (/), done. Writing objects: % (/), bytes | bytes/s, done. Total (delta ), reused (delta ) To https://github.com/GreyZeng/Hello.git b1444e3..6840c0a master -> master Branch master set up to track remote branch master from origin.
也可以推送某个分支到远程仓库
比如:推送branch-a到远程仓库,需要执行以下命令:
$ git checkout branch-a Switched to branch 'branch-a' $ git push -u origin branch-a Total (delta ), reused (delta ) To https://github.com/GreyZeng/Hello.git * [new branch] branch-a -> branch-a Branch branch-a set up to track remote branch branch-a from origin.
git clone:获取远程仓库
首先我们切换到其他目录下:
执行git clone https://github.com/GreyZeng/Hello.git
$ git clone https://github.com/GreyZeng/Hello.git Cloning into 'Hello'... remote: Counting objects: , done. remote: Compressing objects: % (/), done. remote: Total (delta ), reused (delta ), pack-reused Unpacking objects: % (/), done. Checking connectivity... done.
从而获取到远程仓库
同时,我们可以从远程仓库获取之前推送的branch-a这个分支
$ git checkout -b branch-a origin/branch-a Branch branch-a set up to track remote branch branch-a from origin. Switched to a new branch 'branch-a'
git pull:获取最新的远程仓库:
假如有人在master分支上push了新的代码,本地需要同步最新代码
$ git pull origin master remote: Counting objects: , done. remote: Compressing objects: % (/), done. remote: Total (delta ), reused (delta ), pack-reused Unpacking objects: % (/), done. From https://github.com/GreyZeng/Hello * branch master -> FETCH_HEAD 6b04921..c2c9aa0 master -> origin/master Updating 6b04921..c2c9aa0 Fast-forward README.md | +- file changed, insertion(+), deletion(-)
Github教程(1)的更多相关文章
- 上传本地代码及更新代码到GitHub教程
上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...
- 一篇文章了解Github和Git教程-AndroidStudio上传Github教程
前言 为了方便保存自己的代码,下班后可以回家继续进行,自己的码农工作,介绍一下Github. 什么是Github呢? 作为一个编程人员,我觉得得了解一下Github吧! 当然,如果你放弃了码农或者技术 ...
- git 入门教程之github 教程
github 教程 github 是一个基于 git 的代码托管平台,是平时工作学习的好帮手,学会如何用好 github 网站能够帮助我们更好分享代码或者与其他开发人员合作. 注册 github 账号 ...
- 史上最简单的 GitHub 教程
史上最简单的 GitHub 教程 温馨提示:本系列博文已经同步到 GitHub,如有需要的话,欢迎大家到「github-tutorial」进行Star和Fork操作! 1 简介 GitHub 是一个面 ...
- GitHub教程(二) 删除已有仓库
通过GitHub教程(一)的阅读,我相信您对GitHub体系框架已经有了模模糊糊的了解.本节教程将继续介绍GitHub的操作---删除仓库. 作为GitHub的入门使用者,我们可能会建一些简单的仓库来 ...
- GitHub教程(三) 本地仓库托管到GitHub
本文开头先特别声明一下:由于GitHub教程属于Git系列教程的GitHub子篇章,因此GitHub教程中将不再详细介绍Git操作命令及其用法,我会根据实际需要穿插着回顾Git操作命令.如果读者需要学 ...
- GitHub教程--上传项目四步法 GitBash命令行下使用方法
之前就用过GitHub,感觉用GitHub托管自己的代码非常不错.可是之前用的都是窗口化的TortoiseGit,省了很多命令行的操作,但是个人非常喜欢使用命令行,于是,今天就试着用了用GitBash ...
- 【Github教程】史上最全github用法:github入门到精通
原文 http://www.eoeandroid.com/thread-274556-1-1.html [初识Github] 首先让我们大家一起喊一句"Hello Github". ...
- get最简单直接粗爆git与github教程
Git是分布式版本控制系统(可以理解为文件管理拓展工具) github一个在线文件托管系统(可以理解为一个在线云盘) 准备工作,在git官网下载git软件件,安装git软件,以windows.为例,下 ...
- 【Github教程】:github入门到精通
[初识Github] 首先让我们大家一起喊一句"Hello Github".YEAH!就是这样. 原文 http://www.eoeandroid.com/thread-27455 ...
随机推荐
- struts1+spring+myeclipse +cxf 开发webservice以及普通java应用调用webservice的实例
Cxf + Spring+ myeclipse+ cxf 进行 Webservice服务端开发 使用Cxf开发webservice的服务端项目结构 Spring配置文件applicationCont ...
- Java Split以竖线作为分隔符
今天用到了Java中的Split函数,要以“|”作为分割符,当输入竖线时,发现出错,这个问题应该很久前就遇到过,不过太长时间就给忘了! 网上一搜,就找到了答案,这是因为split里面有两个参数,其中一 ...
- 基于SlidePanelLayout实现ResideMenu
同步发表于http://avenwu.net/2015/02/24/custom_slide_panel_layout_as_reside_style_on_dribble_and_qq Fork o ...
- Windows Azure 入门系列课程Windows Azure 入门系列课程
Windows Azure 入门系列课程 https://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/NewSeries/A ...
- 【html】button按钮的一些问题
问题: button 按钮在不设置 type 属性时,在不同的浏览器作用不一样.举个例子: html: <!doctype html> <html lang="en&quo ...
- Quartz 2D绘制简单图形
在Quartz 2D中,绘图是通过图形上下文进行绘制的,以下绘制几个简单的图形 首先先创建一个QuartzView.swift文件继承自UIView,然后实现drawRect方法: import UI ...
- C# 向Http服务器送出 POST 请求
//向Http服务器送出 POST 请求 public string m_PostSubmit(string strUrl,string strParam) { string strResult = ...
- 【笔记】《DirectX 9.0 3D游戏开发编程基础》:Direct3D初始化
Direct3D初始化大概分为4个步骤: 1.获取接口IDirect3D9的指针.(Direct3DCreate9函数调用). 该接口用户获取系统中物理硬件设备的信息并创建接口IDirect3DDev ...
- asp.net mvc 利用过滤器进行网站Meta设置
过去几年都是用asp.net webform进行开发东西,最近听说过时了,同时webform会产生ViewState(虽然我已经不用ruanat=server的控件好久了 :)),对企业应用无所谓,但 ...
- Oracle Purchasing QUESTIONS AND ANSWERS
Topic Summary Topic: CORRECTIONS: Corrections Topic: DELIVER: Receiving Delivery Topic: DROPSHIP: Dr ...