git使用方法记录

转载 2016年08月28日 20:01:53

从上到下的顺序,记录所进行的操作


git clone path

下载远程git仓库


修改文件
vi file

git status
修改文件后,还没有git add时,可以看到提示,有文件还没有被add

git diff
修改文件后,还没有git add时,查看不同

git add file

把文件添加到stage区


git diff
add后,就看不到不同了

当有一个文件误加入到了stage区,想要把这个文件从stage区去掉。

git reset head -- test/build.gradle

git commit -m "提交注释"

把修改进行提交了

(如果你不想先add,再进行commit的话,可以使用git commit -am "提交注释"。注意,在m前多了一个a。

    使用这个命令,可以直接把已经修改过的文件自动add,然后commit。新生成的文件不在范围内)


git push

把commit的内容,push到远程仓库上去


再修改文件
vi file

git add
把文件添加到stage区

git diff --cached
查看git add后,添加到stage区的文件,和上次一commit的文件的不同(没有commit记录的话,就看不到)。

注意,git add后,git diff就看不到不同了。


git diff head -- any-try/build.gradle

查看工作空间中的某个文件和本地仓库上的最新文件有什么不同

(也可用git difftool命令,这个是以图形化显示)


git diff head

查看工作空间中的所有文件和本地仓库上的最新文件有什么不同


git diff HEAD^ HEAD

比较了当最近的这次提交与上一次提交之间的差异


当别人修改了远程分支后,你想把远程分支的数据下载到本地分支(本地分支已存在)

注意:这里仅仅是下载到你的本地分支上,还没有合并到你的工作目录里。

git fetch origin/master


查看本地分支和远程分支的差异

git diff master origin/master


查看提交的文件

git log --name-status -2 --pretty=oneline

(--name-status显示新增、修改、删除的文件清单,-2 显示几个提交,--pretty=oneline代表美化显示)

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2


在 Git 中 Checkout 历史版本

git checkout -b name-of-new-branch commit_id


将某个文件的历史版本 checkout 到工作区("> </new/name/of/the/file>" 部分是新文件名,可以省略)

git show <sha1-of-a-commit>:</path/to/your/file> > </new/name/of/the/file>



----------------------------------------------------

仓库名例如:origin/master,中的origin是什么意思?

它是一个代表“远程的”标记名称,后面是真正的仓库名称。

[origin/master]在git里被称作“远程分支”。origin是远程的标记名称,master被称为“分支”。

(“远程名称”是一个代码仓库别名,和本地目录或URL是一个含义,你可以通过"git remote"命令自由定义额外的“远程名称”。但“git clone”命令默认使用的是“origin”这个名称。)


使用Eclipse插件时,为什么没有缓存区(或叫暂存区,就是Stage区)的概念?

缓存区的目的就是让你选择,你要commit哪些代码。用Eclipse进行commit时,会出来一个对话框让你选你要commit哪些代码。这个对话框就是缓存区的概念。



如何在本地新建立一个工程,上传到远程仓库中?

先在远程仓库中建立一个分支,例如test(https://github.com/yourname/test.git)

然后,在本地建立文件夹和文件,最后上传:

mkdir my-project

cd my-project

git init
git add README.md
git commit -m "首次提交代码"
git remote add origin https://github.com/wteam-xq/testGit.git
git push -u origin master

(git push -u 代表push的同时会指定当前分支的upstream)

(什么是upstream:http://blog.angular.in/git-pushmo-ren-fen-zhi/)


git push和git fetch/ git merge的区别

在远程分支和本地分支没有冲突时,git push = git fetch + git merge

git fetch 是把远程分支上的内容取下来,放到本地分支上(并不放到工作区)。

git merge 是把本地分支上内容,合并到工作工作区(就是你实际看到代码的区域)

用git pull的话,会自动完成上面的步骤。


在远程分支和本地分支发生冲突时,git push = git fetch + git merge + git stash + git stash pop

在git fetch之后,如果代码有冲突的,做git merge的话,会报错:

error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge.
Aborting

这时,需要使用git stash命令把代码暂时保存起来,这时工作区的代码会保存到栈上,然后本地工作区间的代码跟本地仓库代码会同步,

然后使用git merge命令,把本地分支上的代码更新到工作区(工作区的代码变成了本地分支的代码)

再用git stash pop把刚才保存的代码取出来,并合并到工作区上,这时代码出错了冲突:

Auto-merging XXX.gradle
CONFLICT (content): Merge conflict in XXX.gradle

再用编辑器,把文件内容修改一下,并保存,就完成了。

上面的并于冲突的过程,如果用git pull的话,系统会自动完成上面的步骤。


参考:

http://www.jianshu.com/p/898e766d22e1

git 取消修改,恢复版本 命令大全:http://blog.csdn.net/cankingapp/article/details/18312117

在 Git 中 Checkout 历史版本:https://liam0205.me/2015/04/29/git-checkout-history-version/



Git使用方法记录

Git 常用操作
  • Kylin_18
  • Kylin_18
  • 2017年11月16日 13:05
  • 70

Git 的基本使用步骤

我是在win7下使用Git,具体步骤总结如下: (1) 下载Git(我的下载Git-1.8.3-preview20130601.exe),具体下载地址:http://code.google.co...
  • z69183787
  • z69183787
  • 2015年01月25日 14:25
  • 679

Github Git彻底删除历史提交记录的方法

有时候我们可能会遇到git提交错误的情况,比如提交了敏感的信息或者提交了错误的版本。这个时候我们想将提交到代码库的记录删除,我们要怎么做呢? 首先,我们需要找到我们需要回滚到的提交点的hash,可以...
  • cai6811376
  • cai6811376
  • 2017年01月08日 23:39
  • 10770

git 历史提交记录log(git GUI)图文详解

1、以openstack nova为例: https://github.com/openstack/nova 2、clone nova: git clone https:...
  • tantexian
  • tantexian
  • 2015年01月12日 13:41
  • 12809

git 笔记记录(六) git检出

1.上一节讲了重置命令,重置命令是修改了引用的游标指向,重置命令所针对的是头指针HEAD,之所以没有修改HEAD内容,是因为HEAD指向了一个引用refs/heads/master,所以重置命令体现为...
  • bluceshang
  • bluceshang
  • 2013年11月22日 11:28
  • 3110

git之rebase和merge学习记录

git之rebase和merge学习记录用git合代码遇到冲突,现在把解决过程中学习的记录下来.现在有两个分支:一个是用来发版的master,另一个分支work,是从master切出来的用作自己写代码...
  • zengyonglan
  • zengyonglan
  • 2016年09月09日 17:28
  • 677

记录一次git解决冲突的过程

git合并冲突
  • sureSand
  • sureSand
  • 2017年12月10日 16:59
  • 98

我所记录的git命令(非常实用)

转自http://www.cnblogs.com/fanfan259/p/4810517.html 阅读目录 一、前言二、git branch 和 git checko...
  • Working_Harder
  • Working_Harder
  • 2016年08月10日 15:31
  • 1283

git使用方法小结

1、首先去git官网下载并安装git,安装方法和普通软件安装方法一样,没什么难度。 2、安装完成后点击鼠标右键查看是否有Git Brash Here和Git GUI Here,如果有则表明安装成功了...
  • dongguan_123
  • dongguan_123
  • 2016年10月12日 15:12
  • 293

git安装教程和使用方法记录

git安装教程 http://jingyan.baidu.com/article/75ab0bcbc8492dd6864db2fa.html Git Gui for Windows的建库、克隆(c...
  • liufangaliya
  • liufangaliya
  • 2015年10月27日 16:00
  • 254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git使用方法记录
举报原因:
原因补充:

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