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计时器 + asp 计时器
JS: <script type="text/javascript"> ; function starts() { ) { alert('已经开启了实时监控!') re ...
- 更改chrome底色为护目色
找到chrome目录:C:\Documents and Settings\用户名\Local Settings\Application Data\Google\Chrome\User Data\Def ...
- 北京地铁月度消费总金额计算(Python版)
最近业余时间在学习Python,这是那天坐地铁时突发奇想,想看看我这一个月的地铁费共多少钱,所以简单的构思了下思路,就直接开写了,没想到用Python来实现还挺简单的. 设计思路: 每次乘车正常消费7 ...
- WPF 转义字符
下面是五个在XML文档中预定义好的实体: < < 小于号 > > 大于号 & & 和 ' ' 单引号 " " 双引号 实体 ...
- 使用PuTTY时的文件上传下载方法
如果你是个PuTTY重度用户,在使用ssh连上一个远端机器工作了好一阵子后,发现自己需要对 当前会话 上传/下载文件,要怎样才能简单快捷呢? 最简单的方式 最简单的方法: 安装WinSCP或者File ...
- struts2:遍历自定义字符串数组,遍历Action实例所引用对象中的数组
在struts2:OGNL表达式,遍历List.Map集合:投影的使用一文中已经讲述了OGNL遍历List.Map集合等功能. 本文简单写一个遍历数组的示范程序. 1. 遍历自定义字符串数组 < ...
- CentOS安装keepalived
Haproxy.Keepalived双主高可用负载均衡 1.安装keepalived yum install keepalived -y
- Android 手机技巧
1. 使用其它手机做热点上网,最怕的就是有些应用会在连接 WIFI 时偷偷做一些事情,比如备份/同步数据等等.在这流量就是金钱的时代,不能白白让钱流走,这时你需要进入“设置 -> 浏览使用情况 ...
- Golang pprof heap profile is empty
Q: When you use `go tool pprof` get heap data, profile is empty. A: The default sampling rate is 1 s ...
- 部署tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中
在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况. ...