Git的三个主要的区域
-
工作区(Working Directory)是项目一个版本的单个签出。这些文件将从Git目录中的压缩数据库中拉出,并放置在磁盘上供您使用或修改。
-
暂存区(Staging Area)是一个文件,通常包含在您的Git目录中,用于存储有关下一次提交的内容的信息。用Git的话来说,它的技术名称是“索引(idnex)”,但是短语“暂存区”也可以使用。
-
Git目录(版本库)(Git Directory(Repository))是Git存储项目的元数据和对象数据库的地方。这是Git最重要的部分,它是从另一台计算机克隆存储库时复制的内容。
基本的Git工作流程:
- 您修改工作树中的文件。
- 您可以有选择地暂存要作为下一次提交的一部分的那些更改,这只会将这些更改添加到暂存区域。
- 您执行一次提交,该提交将按阶段区域中的文件原样获取文件并将该快照永久存储到您的Git目录中。
如果文件的特定版本位于Git目录中,则视为committed。如果已被修改,并加入到临时区域,它是staged。并且如果在签出之后已对其进行了更改但尚未staged,则为modified。
Git常用命令
- cat
查看文件内容 - git add
添加文件到暂存区 - git commit -m [提交的信息] 提交文件到版本库
- git log 查看提交历史
- git reset --hard HEAD^ 版本回退,hard:本地仓库、暂存区和工作区全部回退到指定版本的内容
- git reflog 查看命令历史
- git checkout –
丢弃工作区的修改 - git rm
+git commit -m 从版本库中删除文件 - git remote add
git@github.com : [myGithubName/learngit.git] 关联github远程库,默认库名为origin - git push [-u]
将分支推送到远程 - git remote rm
删除远程库 - git remote -v 查看远程库信息
- git clone git@github.com : [myGithubName/learngit.git] 将远程仓库克隆到本地仓库
- git checkout -b
创建并切换到新分支(旧版) - git branch 查看当前分支
- git merge
合并某个分支到当前分支 默认Fast forward模式,删除分之后,该分支信息会丢失,看不出曾经做过合并 - git merge --no-ff -m
关闭Fast forwar模式 合并分支 - git branch -d
删除某个分支 - git switch -c
创建并切换到新分支(最新版) - git switch
切换分支 - git log --graph 查看分支合并图
- git stash 将当前的工作现场暂时“隐藏”起来
- git stash list 查看“隐藏”的工作现场
- git stash apply stash@{0} 恢复工作现场
- git stash drop stash@{0} 删除某个工作现场
- git stash pop 恢复工作现场,同时删除该记录
- git cherry-pick <记录码> 将某个提交复制到当前分支,通常用于修复bug后



