git代码版本管理

Posted hongdanni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git代码版本管理相关的知识,希望对你有一定的参考价值。

先看这个图,了解工作区、版本库、stage、HEAD、master、add、commit这几个概念。

(忘记自己从哪儿盗的图了...)

技术图片

git_relearn文件夹里就是一个工作区(working directory);

.git隐藏的文件夹就是版本库(repositary);

版本库里包含暂存区(stage);

git为我们自动创建的第一个分支master;

git commit就是往分支master提交更改;

指向master的指针是HEAD

 

一.前期准备

git config --global user.name "hdn"  #设置自己的名字

git config --global user.email "[email protected]"  # 邮箱

pwd  # 查看当前版本库所在的目录(版本库又叫仓库repository。该目录下的文件都可以被git管理起来:包括文件的删除更改等都会给git追踪)

touch test.txt  # 创建test.txt文件

git init  # 初始化一个git仓库(在哪个目录下git init,就是定义当前目录为git仓库repository)

git add test.txt  #将自己创建的test.txt存入版本库的stage暂存区里

git commit -m"create a test.txt"  # 将已经放到stage里的test.txt文件提交到master里,m后面的参数是对本次提交的文字说明。可以多次add,然后一次commit

 

二.查看

git status  # 查看仓库当前状态

git diff test.txt  # 查看对test.txt做了什么修改

git diff HEAD -- test.txt  # 查看test.txt当前版本的修改状态

 

 

三.版本

git log  # 查看修改的历史记录:从最近到最远的提交依次显示。

git log --pretty=oneline  # 字面意思:将记录以一行的方式显示

git reset --hard HEAD^  # 回退到上一个版本;HEAAD^^为回退到上上一个版本;HEAD~100为回退到上100个版本

git reset --hard 4fa142c  # 4fa142c为某次修改事件A的版本号(commit ID)。对应git log命令下显示的前七位数。那么此时会回退到事件A时刻的修改记录

git reflog  # 查看每次修改对应的版本号(commit ID)

 

四.提交

每次提交之后,工作区(working directory)就会变成clean。

 

五.撤销

git checkout --test.txt  # 撤销在工作区的修改,让这个文件回到最近一次git commit或者git add的状态

git rest HEAD test.txt  # 回退到上一个操作。即撤销掉test.txt在stage(暂存区)的缓存(to unstage)。git reset 是回退版本,HEAD是指当前版本

 

六.删除

rm test.txt  # 删除在工作区里的test.txt文件

git rm test.txt  # 从版本库里删除test.txt

git commit -m"remove test.txt"  # 提交本次删除,并标记为"remove test.txt"

git checkout -- test.txt  # 在未从版本库仅仅是从工作区删除的文件可以通过此命令恢复。即用版本库的版本文件替换工作区里的文件

 

以上是关于git代码版本管理的主要内容,如果未能解决你的问题,请参考以下文章

Git和SVN,代码管理哪个更好

git笔记--《git 版本控制管理》

版本管理工具git与svn简介

Git版本管理及代码上线

采用git标签来进行代码版本管理

[工具] Git版本管理(知识总结)