git

原创 2015年07月09日 19:58:47

1)恢复文件

git checkout  -- filename 用暂存区的文件覆盖工作区的文件,git checkout -- .  没有

git checkout branch -- filename 用branch分支中的文件filename覆盖暂存区和工作区的文件 :没有commit

git checkou 汇总t 显示工作区、暂存区和HEAD区的差别


add   git reset --hard HEAD  放弃工作区和暂存区修改

git reset --soft HEAD 

git reset (--mixed) HEAD  放弃暂存区修改

git reset --hard HEAD~n(提交id)将工作区、暂存区和HEAD区恢复到上n次提交,不会产生冲突

2)历史

git log 查看历史提交

git relog查看历史命令

git branch 查看本地分支

git branch -a 查看远程分支


3)git冲突

场景:本地的修改未提交,下拉服务器端代码出现冲突:

a)暂存本地的修改

git stash 保存当前未提交的内容(工作区、暂存区)到git栈中,工作区恢复到上一次提交的版本

git pull

git stash pop


git diff :   working tree 和 index file

git diff HEAD:   working tree 和 commit

git diff --cached:  index file 和 commit


b)放弃本地的修改

git reset --hard HEAD

git pull


4)删除

git branch -r -d origin/branch-name  删除本地对远程分支的track

git push origin (空格):branch-name 将一个空分支推送到远程


5) 拉取带有module的分支

一、git clone --recursive git@git****;(git submodule add git@git***)

增加 .gitmodule文件,记录git文件目录以及在当前工程下的存储路径

二、git submodule init       

在.git/config目录下注册submodule信息(第一次拉取module是运行)

三、git submodule update

更新module信息(远程有新的更新或者切换分支时调用)

git submodule update只适用于当工程中.git/index中的快照改变时,根据当前的指向(commit  id)更新module代码;若模块有更新,但是工程中的快照没有改变,使用git submodule update并不能更新子module。此时:

1/ cd 子模块,主动拉取代码

2/ 进入主工程,git diff/git status发现工程快照检测到子模块有更新,提交相关代码到仓库

3/工程快照发生改变,使用git submodule update更新子模块代码


6) 删除子模块

一、$ git rm --cached [path]

二、编辑.gitmodules文件,将子模块的相关配置节点删除掉

三、编辑.git/config文件,将子模块的相关配置节点删除掉

四、手动删除子模块残留的目录

7)detached HEAD

参考:http://www.jianshu.com/p/ae4857d2f868

游离head 和 分支是两个相对独立的概念,互不影响







当git上只做文件大小写重命名的修改时,如何躲坑...

git对文件名的大小写默认是不敏感的,因此有些朋友在进行了仅涉及大小写的重命名的时候,会遇到提交或更新的问题,本文教你如何躲坑...本文内容基于我电脑上的测试下结论,如有其它情况,请留言,谢谢。...
  • get_set
  • get_set
  • 2016年03月30日 18:45
  • 9974

git checkout -f实例|Git打包压缩方法

像android一样的源码,一个源码就有10G,如果要想发送或者刻录,这么大的代码很难传输。因此,可以这样做: 1.把工作目录下的.git复制一份。 2.压缩这个.git文件夹。linux中可以tar...
  • xzongyuan
  • xzongyuan
  • 2013年09月11日 17:46
  • 5870

git基础学习(二):对修改的文件进行提交 git diff 和 git status

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version ...
  • xiaoshan812613234
  • xiaoshan812613234
  • 2014年04月30日 11:20
  • 1641

win10下乌龟git安装和使用

一、安装git for windows 首先下载git for windows客户端http://msysgit.github.io/  安装过程没什么特别的,不停next就ok了         ...
  • jdsjlzx
  • jdsjlzx
  • 2016年04月08日 17:55
  • 22159

Git 撤销合并

Git 的 revert 命令可以用来撤销提交(commit),对于常规的提交来说,revert 命令十分直观易用,相当于做一次被 revert 的提交的「反操作」并形成一个新的 commit,但是当...
  • sndamhming
  • sndamhming
  • 2017年02月20日 13:31
  • 865

学习搭建Git服务器和多人协作开发

一,搭建Git服务器>>>>>>>>>>>>>>>>> 环境基于Ubuntu-12.04 项目服务器管理员:              用户添加及ssh RSA登录(免密登录)          ...
  • nan2ziyou
  • nan2ziyou
  • 2016年03月27日 13:35
  • 1292

windows环境 - 手把手教你使用Git

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何...
  • u012246458
  • u012246458
  • 2015年08月18日 10:48
  • 9811

git创建仓库,并提交代码(第一次创建并提交)

一直想学GIT,一直不曾学会。主要是GUI界面的很少,命令行大多记不住。今天尝试提交代码,按GIT上给的方法,没料到既然提交成功了。 于是把它记下来,方便以后学习。 代码是学习用的,没多大意义; ...
  • kazeik
  • kazeik
  • 2013年06月17日 17:21
  • 96657

git 分支使用

最近在公司使用git,由于之前接触不深,看了如下文章,感觉不错,分享如下: 转自 http://www.zhihu.com/question/21995370 另:http://www.liaox...
  • nothingl3
  • nothingl3
  • 2015年08月07日 12:26
  • 901

1. Git安装与配置

本文介绍Windows下的Git安装与配置
  • renfufei
  • renfufei
  • 2014年12月01日 15:22
  • 147901
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git
举报原因:
原因补充:

(最多只允许输入30个字)