首页 > 程序开发 > 综合编程 > 其他综合 >

git学习笔记

2017-06-14

关键词:工作区: working directory( git的父目录,如本例test),版本库: respository(其实就是 git隐藏目录,虽然 git在工作区目录下,但是 git不算工作区),暂存区: staged(或者叫index,git add的东西都在这,然后git commit把暂存区的数据提交到当前分支)

关键词:
工作区: 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..." to update what will be commited);use "git checkout -- " 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分支内容合并到当前分支上)
相关文章
最新文章
热点推荐