git init

git add .

git commit -m “”

git status

git diff

工作区-》版本库-》暂存区stage、master分支、指针HEAD-》

add放到暂存区,commit放到分支

git log

reset可以回退版本,还可以撤销add到暂存区的内容,重新回到工作区,可以再次checkout --

撤销commit:git reset --hard HEAD^

git reflog

撤销add前:git checkout -- readme.txt

撤销add:git reset HEAD readme.txt

git rm test.txt  + commit  删除

git checkout -- test.txt   找回

/* 掌握命令:vim touch cat ls pwd cd echo */

在http://git.oschina.net创建库:

1.ssh-keygen -t rsa -C "xxxxx@xxxxx.com"# Creates a new ssh key using the provided email

# Generating public/private rsa key pair...

2.cat ~/.ssh/id_rsa.pub

# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc.... 将public key添加

3.ssh -T git@git.oschina.net

4.Welcome to Git@OSC, yourname!

//1.远程库origin与本地关联

git remote add origin git@github.com:michaelliao/learngit.git

//2.将本地库中的所有内容推送到远程库中

git push -u origin master

//3.以后推送使用以下命令

git push origin master

分支:

//创建+切换

git checkout -b 分支名second     ->相当于 git branch second   +   git checkout second

//查看

git branch

//与master合并

git merge second

//删除

git branch -d second

解决冲突:

//查看冲突

git status

//查看分支的合并情况 git log --graph

git log --graph --pretty=oneline --abbrev-commit

分支管理策略:

//禁用”fast forward” 并且加上了commit描述

git merge --no-ff -m "merge with no-ff" second

bug分支:

git stash

git stash list

git stash apply  +  git stash drop     /    git stash pop

feature分支

//强行删除分支:如果分支还没有被合并,如果删除将丢失掉修改

git branch -D name

本地分支:master,dev,bug,feature

//从远程抓取新提交

git pull

多⼈人协作的⼯工作模式通常是这样:

  1. 首先,可以试图⽤git push origin branch-name推送⾃自⼰己的修改;
  2. 如果推送失败,则因为远程分⽀支⽐比你的本地更新,需要先⽤用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再⽤用git push origin branch-name推送就能成功!

标签

git tag v1.0

git log --pretty=oneline --abbrev-commit

git tag

git show tangle

git tag -d v1.0

git push origin v1.0

git push origin --tags

//删除远程标签需要先删除本地标签

git tag -d v1.0

git push origin :refs/tags/v1.0

git config --global alias.st status

$ git config --global alias.co checkout

$ git config --global alias.ci commit

$ git config --global alias.br branch

git config --global alias.unstage 'reset HEAD'

git config --global alias.last 'log -1'

git config --global alias.lg "log --color --graph --

参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

http://blog.csdn.net/windows_nt/article/details/24557831

http://blog.csdn.net/ithomer/article/details/7529022

http://blog.csdn.net/ithomer/article/details/7529841

GIT学习的更多相关文章

  1. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  2. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  3. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  4. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  5. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  6. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  7. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  8. Git学习(4)基本操作

    1.版本提交 首先,接着上个Git学习(3)继续 我们先修改test.txt文本内容,增加一些信息进去,然后保存: Add a new data 第一步:运行命令 git status 命令查看文件是 ...

  9. git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)

    每次git提交,都会有一个parent指针,指向上一次的commit ,   如果合并,master就和hotfix河道一起,就直接删除hotfix就OK     此时,虽然操作一样,大底层实现不一样 ...

  10. git学习笔记01-git最基本的工作原理分布式

    git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000  --廖雪峰老师 ...

随机推荐

  1. HTML 转 PDF

    使用WkHtmlToXSharp,免费的软件,内集成了chrome 的内核,可以对CSS进行渲染,很好用 是需要传入 HTML 网页地址就可以转化为PDF文件,不过网页的编码要是 utf-8 Nuge ...

  2. JAVA集合介绍

    一.集合概述 Java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储.而数组长度固定,不能满足变化的要求.所以,java提供了集合. 特点 1.        长度可以发 ...

  3. 快速上手php:使用PhpStrom调试php

    闲话 使用phpStrom的时候居然不打印到控制台,要打印测试的话就要输出到页面,目前我还不知道有什么好办法像jsp一样输出到页面的同时也打印到控制台.这种做法还是比较烦的,特别出问题需要调试的时候. ...

  4. Java的多线程机制系列:(二)缓存一致性和CAS

    一.总线锁定和缓存一致性 这是两个操作系统层面的概念.随着多核时代的到来,并发操作已经成了很正常的现象,操作系统必须要有一些机制和原语,以保证某些基本操作的原子性.首先处理器需要保证读一个字节或写一个 ...

  5. Alpha事后诸葛亮

    Aruba小组Cento项目Postmortem 队员: 408 409 410 428 429 431   设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  6. Linux系统下的程序开发之:命名规范

    2016年12月13日16:19:53 ------------------------------- 不能使用类似驼峰法的命名文件:dingdanOrder.html 这样的命名,会让系统无法找到目 ...

  7. <<< html5本地储存

    类似与Cookies,但由于Cookies储存量太小,大小也只有4-5KB的样子,html5的本地储存能存5M大小的数据 html5本地储存属性有,localStorage和sessionStorag ...

  8. RabbitMQ简介

    AMQP简介 在了解RabbitMQ之前,首先要了解AMQP协议.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消 ...

  9. Spring JdbcTemplate 方法详解

    JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修 ...

  10. 零基础如何系统学习Java Web

    零基础如何系统学习Java Web?   我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...