开源的分布式版本控制系统
$ git config -- global user.name "lijiandong"
$ git config -- global user.email ljdong1221
//检查已有配置信息
$ git config --list
//查询单个信息
$ git config user.name
自己电脑能看到的目录
英文叫stage或index,一般存放.git目录下的index文件中,所以暂存区也叫索引(index)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库
解释:index:暂存区,master:master分支所代表的目录树,HEAD:指向master分支的一个游标,Object:标识的区域是Git的对象库,位于“.git/objects”目录下,里面包含创建的各种对象。
当工作区的文件执行git add命令时,暂存区的目录树被更新,同时工作区修改的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
当执行提交操作git command 命令时,暂存区的目录树写到版本库中,master指向的目录树就是提交时暂存区的目录树。
当执行git reset HEAD命令时,暂存区的目录树会被重写,被master分支指向的目录树所替换,但是工作区不受影响。
当执行git checkout HEAD. 或者 git checkout HEAD -- <file> 命令时,会用HEAD指向的master分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个动作极具危险性,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。
//使用当前目录作为Git仓库,只需要初始化
git init
//使用指定目录作为Git仓库
git init newrepo
//将文件纳入版本控制,目录下以.c结尾及README文件提交到仓库中
git add *.c
git add README
git commit -m ‘初始化项目版本‘
//克隆仓库
git clone <repo>
git clone git
常用命令:git clone \ git push \ git add \ git commit \ git pull \ git checkout
workspace:工作区
staging area:暂存区
local repository:本地仓库
remote repository:远程仓库
//初始化仓库
git init
//拷贝远程仓库
git clone
//添加文件到仓库
git add
//查看仓库当前的状态,显示有变更的文件
git status
//比较文件的不同,即暂存区和工作区的差异
git diff
//提交暂存区到本地仓库
git commit
//回退版本
git reset
//删除工作区文件
git rm
//移动或重命名工作区文件
git mv
//远程仓库操作
git remote
//从远程获取代码库
git fetch
//下载远程代码并合并
git pull
//上传远程代码并合并
git push
//创建分支
git branch (branchname)
//切换分支
git checkout (branchname)
//合并分支
git merge
//列出分支
git branch
//删除分支
git branch -d (branchname)
//合并分支
git merge (branchname) //当前所在分支合并branchname分支
原文:https://www.cnblogs.com/ljdong7/p/13723925.html