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 ...
随机推荐
- 黄页js-sdk开发总结分享
2014年,为了方便第三方开发者能够调用本地的一些功能,我们提供了一套js-sdk.通过调用我们的接口,开发者可以定制UI,获取当前的手机状态,调用支付,黄页扫一扫功能,为用户提供更加优质的体验.下面 ...
- CSS3学习笔记--transform中的Matrix(矩阵)
transform: matrix(a,b,c,d,e,f) ,如下图矩阵所示,任意点(x,y,1)经过matrix变化为(ax+cy+e,bx+dy+f,1),由此可以知道,matrix参数与tra ...
- SQLSERVER建立MYSQL连接服务器
1. 在SQL SERVER端安装MYSQL的ODBC驱动 2. 在ODBC数据源添加MYSQL(控制面板\所有控制面板项\管理工具) 在用户DSN 和系统DSN添加配置驱动程序 注:字符集一定要和M ...
- android多国语言文件夹文件汇总
android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-e ...
- SAP ECC CO 配置
SAP ECC 6.0 Configuration Document Controlling (CO) Table of Content TOC \o \h \z 1. Enterprise Stru ...
- MxNet Windows下安装
项目链接:https://github.com/dmlc/mxnet 因为要做一些开发工作,prebuilt的lib不能满足需求.由于工作环境要求是windows,所以可以利用cmake工具来构建. ...
- What's New in iOS9 iOS9功能改进
What's New in iOS9 This article summarizes the key developer-related features introduced in iOS 9, w ...
- Android 模拟器 获得 root权限
启动一个模拟器,开始-运行-输入cmd,打开dos,依次输入 adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system ...
- Form personization(Form 个性化)报无权限
总部的同事利用form personization对工单的一些Form做了个性化,发现可能设的有问题,造成用户无法关工单.想要看一下她是怎么设的,可报没权限.经过研究发现,把个人Profile 的 U ...
- Go目录
1. Go语言获取项目当前路径 2. Go语言TCP/UDP Socket编程 3. Go语言实现HashSet