Git的一些基本概念
- 设置自己的用户名和邮箱
git config –global user.name "Your Name"git config –global user.email "you@example.com" - 修改到提交之间有一个缓存区
- 提交到缓存区
git add .
当前所有修改提交到缓存区,也可以单独指定 - git diff --cached
查看缓存区和本地仓库里的差异 - git diff HEAD
查看已缓存和当前的区别 - git diff
查看当前未缓存的和本地仓库里的区别 - git diff --stat
显示摘要
- 提交到缓存区
- 撤销缓存区里的一个更改,例如hello.rb
git reset HEAD -- hello.rb - git rm file
将file从文件缓存区、本地目录中移除 - git rm file --cached
只从缓存区移除,保存本地目录中的
分支操作
- git branch
列出可用的分支 - git branch jser.me
创建jser.me分支 - git checkout -b jser.me
检查jser.me分支是否存在,不存在就创建,并且切换过去 - git branch -d jser.me
删除分支jser.me - git merge
其它分支合并到当前分支 - git checkout -b gh-pages origin/gh-pages
检出并且设置当前分支为远程分支gh-pages
Log查看
- git log --oneline
紧凑查看 - git log --graph
图形显示 - git log erlang ^master
查看只在erlang分支里的修改 - git log --grep
正则取一个log - git shortlog master
生成一个简报
里程碑
- git tag -a v1.0
打上v1.0
恢复删除的文件
- git checkout commitid -- pathfile
与人分享
- git remote
列出远端的别名 - git remote add remotename remotepath
以remotename命名remotepath - git remote rm remotename
删除别名为remotename的远程仓库 - git fetch
只下载 - git pull
下载并更新 - git push remotename branch
推送本地分支branch到远程仓库remotename的branch分支
一些原则新功能尽可能的开分支,但是定期合到master上来,不要把某一个分支长
时间的开发 使用git-flow
Git的几个关键知识点
- 有三种状态:
- 暂存 staged
- 修改 modify
- 已经提交
- git status
- 前面状态有两列,头一列是暂存区的改动情况,如果你commit,它会提交,第二列是当前共工作区的状态,它是不会被提交的
冲突之后的解决找到冲突的地方,手工解决,然后git add filename; git commite
只合并特定的分支特定文件
- 使用命令
git cherry-pick #commitid - checkout方法
git checkout branch -- filename
查看和远程分支的对比
- 先把远程分支搞到本地
git fetch origin master:temp, 从远程的origin仓库的master分支下载到本地并新建一个分支temp - 比较分支
git diff temp - 合并特定的文件,参考上面的
- 删除无用的分支
git branch -d temp
git diff
- 只显示有对比的文件
git diff 608e120 4abe32e --name-only - 配合搞成压缩文件
git diff 608e120 4abe32e --name-only | xargs zip update.zip - 如果不是查看每个文件的详细差别,而是统计一下有哪些文件被改动,有多少行被改 动,就可以使用‘--stat' 参数。
- diff指定的文件
查看今天的更改
- git log --since=1.days
Git的一些基本概念的更多相关文章
- GIT入门篇-基本概念与操作
GIT 首先必须说明的是, 这篇文章不是阐述GIT原理性和比较深入的文章.只是对于日常开发中比较常用的需求的总结和GIT这些命令大体的原理解释.所以掌握这个只能说能够应付一定的开发需求.但是如果你是个 ...
- GIT入门笔记(3)- git中的一些概念和原理
一.git管理过程中所处的4个阶段: 工作目录(workspace) 暂存区(index) 本地仓库(local repository) 远程仓库(remote repository) 二.工作目录+ ...
- git学习记录——基础概念和文件的基本操作
夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...
- svn老鸟转用git必须理解的概念
不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...
- Android中 Git 使用中几个概念
1.仓库(版本库) 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史 ...
- svn git 必须理解的概念
不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...
- git 学习之基本概念
在学习 Git 的时候我们经常会听到工作区,版本库,暂存区.那么这些东西指的是什么呢?本次我们就一起学习一下. 工作区 顾名思义:工作的区域,那么你一般在哪工作呢?当然是你本地可以看到的目录啦! 版本 ...
- [TFS4]TFS git地址,分支概念
1)上传本地代码到TFS a.Generate Git Credentials,即创建git账户密码 b)上传本地代码 git add *git commit -m "纳入管理" ...
- [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...
随机推荐
- 210 - Concurrency Simulator(WF1991, deque, 模拟)
题目有点长,理解题花了不少时间 粘下别人的翻译~ 你的任务是模拟n个程序(按输入顺序编号为1~n)的并行执行.每个程序包含不超过25条语句,格式一共有5种: var=constant(赋值): pri ...
- python2 dir(list)
>>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__del ...
- 记工作中的git遇到的问题
看了 git 回退到某版本后,再在此版本上更新,无法push 操作前,我备份了修改了目录,准备建一个分支进行操作 我在本地revert了一次,commit到了远程仓库.然后上个版本的修改给恢复了... ...
- [转]Markdown 11种基本语法
Markdown 11种基本语法 现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样) 在Markdown ...
- 关于php的两个符号@和$
在写代码的时候,碰到了在函数和变量前家 @和$的的问题,于是就借这个机会,学习下php的传值和传引用这两种方式 首先 @ 运算符只对表达式有效.对新手来说一个简单的规则就是:如果能从某处得到值,就能在 ...
- Android系统简介(中):系统架构
Android的系统架构栈分为4层,从上往下分别是Applications.Application framework.Libraries & Android Runtime.Linux ...
- 关于Masonry框架(AutoLayout)的用法--面向初学者
Masonry作为目前较为流行的自动布局第三方框架,简单易用,大大减少了程序员花在UI布局和屏幕适配的精力与时间. 1 基本用法 1.1 事例1: 图1-1 // 首先是view1自动布局 [view ...
- Web前端新人笔记之HeightCharts基础
通常情况下,Highcharts包含标题(Title).坐标轴(Axis).数据列(Series).数据提示框(Tooltip).图例(Legend).版权信息(Credits)等,高级的还包括导出功 ...
- eclipse下的tomcat内存设置大小
在eclipse中设置,居然可以了, 设置步骤如下: 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configurations, 3.系统弹出设置tomcat配置页面, ...
- 关于main函数的定义
很多人甚至市面上的一些书籍,都使用了void main( ),其实这是错误的.C/C++中从来没有定义过void main( ).C++之父Bjarne Stroustrup在他的主页上的FAQ中明 ...