git的一些基本概念,及单分支操作

git与svn最大的不同在于git为分布式版本控制系统,每个本地库都是一个完整的版本控制系统,可以离线操作。

一、一些基本概念

1. 工作区(Working Directory)

当前项目的文件,用于进行操作,已提交到库的文件切换分支时会被删除或替换

2. 暂存区

用于标记工作区中需要提交的文件

3. 本地库

本地的版本控制库

4. 远程库

远程的版本控制库,用于多人进行协作

二、文件的几种状态

1. 未追踪(untracked):文件只存在于“工作区”

2. 已追踪(tracked),又分为3类:

  • Unmodified: “工作区”的文件与“本地库”最新版文件相同;
  • Modified: “工作区”的文件与“本地库”最新版文件不同;
  • Staged: “工作区”的文件与“本地库”最新版文件不同,并且已标记到“暂存区”

三、一些操作

1. “工作区”与“暂存区”之间

“工作区”标记到“暂存区”,命令为:git add

  • “本地库”未存在的文件状态:未追踪 ==》已追踪

  • “本地库”已存在的文件状态:Modified ==》Staged

    “暂存区”取消标记,命令为:git reset(或git rm –cache)

  • “本地库”未存在的文件状态:已追踪 ==》未追踪

  • “本地库”已存在的文件状态:Staged ==》Modified

2. “暂存区”与“本地库”之间

“暂存区”提交到“本地库”,命令:git commit,文件状态:Staged ==》Unmodified,并创建一次新的commit

提交到“本地库”之后,可以进行回退到之前的任一commit,命令有:git reset(或git revert)

3. “本地库”与“远程库”之间

“本地库”推送到“远程库”,命令:git push
“远程库”拉取到“本地库”,命令:git pull(或git fetch+git merge)

你可能感兴趣的:(git的一些基本概念,及单分支操作)