git学习笔记

来源:互联网 发布:ubuntu 16.04搭建lnmp 编辑:程序博客网 时间:2024/05/16 12:39
关键词:
工作区:                             working directory(.git的父目录,如本例test)
版本库:                             respository(其实就是.git隐藏目录,虽然.git在工作区目录下,但是.git不算工作区)
暂存区:                             staged(或者叫index,git add的东西都在这,然后git commit把暂存区的数据提交到当前分支)


关键概念理解:
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。如果我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上。
merge时如果没冲突会出现:Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。


git在未进行commit操作之前,存在三种状态:
Untracked files未被加入待提交清单,可以使用git add 命令将其加入待提交清单中,通过“git rm --cached README.txt”命令,可以将文件状态还原为未暂存状态,即回到“Untracked files”文件状态。
Changes not staged for commit:表明文件已经修改,但是还没有放入暂存区域,也就是没生成快照。如果现在进行commit操作,只是将修改之前的文件快照提交到了git目录,通过使用git add更新修改的内容(注意此文件之前已经执行过git add命令,只是因为对其进行了修改所以此处说是更新,即:use "git add<file>..." to update what will be commited);use "git checkout -- <file>" to discard(放弃) changes in working directory
Changes to be committed:暂存状态(待提交状态)


初始化一个git仓库:                  git init
把READ.md添加到待提交清单中:        git add README.md
提交READ.md:                        git commit -m"添加README.md文件"


查看提交记录详细信息:               git log
查看提交记录:                       git log --pretty=oneline


回退:                               git reset --hard HEAD^(HEAD^回到上一个版本HEAD^^回到上上一个版本HEAD~100回到100个版本之前)
                                     git reset --hard 3628164(回到该commit指向的HEAD)


查看所有的HEAD记录:                 git reflog


查看未add的修改:     git diff(查看当前处于工作区(未被git add操作)的修改内容)
查看已经add但是未commit的修改:      git diff --cached
查看工作区和暂存区的修改:           git diff HEAD


撤销暂存区地修改:                   git reset HEAD README.md
撤销工作区的修改:                   git checkout --README.md(“--”,如果没有这个符号则代表切换分支)
删除文件:                           git rm test.txt


克隆一个远程项目到本地仓库:         git clone git@github.com:runnerFeng/gitskills.git


查看分支:                           git branch
新建分支:                           git branch dev
切换分支:                           git checkout dev
新建并且切换到dev:                   git checkout -b dev
合并分支:                           git merge dev(dev分支内容合并到当前分支上)
原创粉丝点击