代码版本维护工具git应用笔记-持续更新

工具:

工具:git命令行与TortoiseGit 图形界面交互
这里主要使用TortoiseGit工具.

概念:

工作区和暂存区,
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD
详细,参见:Git教程(廖雪峰)


功能:

版本回退与还原(恢复到最新版):

版本回退是指将版本库从当前版本回退到其他的版本。

语法:git reset --hard 版本号

有时,我们需要将 Git 版本库回退(还原)到以前的某个版本,可以使用 git reset 命令。

在 Git 中,HEAD 指针指向的是当前版本,也就是最新的 commit id,上一个版本是 HEAD^,上上一个版本就是 HEAD^^,上50个版本可以写成 HEAD~50。

可以使用下面的命令,将 Git 回退到上一个版本:

git reset --hard HEAD^

这时,我们再来使用 git log 命令查看版本库被修改的日志。却发现,看不到被回退的版本之后的历史记录了。如果,想再回到最新的版本,怎么办?

只要刚刚的命令行窗口没有关掉,你就可以顺着往上面找,直到发现最新的版本号(如4b2a0c88a2d03675694013ac6a2bd6f55c830cdc),于是,就可以使用下面的命令还原到指定的版本:

git reset --hard 4b2a0c8

版本号(commit id)没必要写全,一般写前七位就够了,Git会自动去匹配。

但是,假如你回退到了某个版本后,把电脑关了。第二天又后悔了,想要恢复到最新版本。

这时,可以使用命令 git reflog 来查看你的每一次操作日志,该命令可以输出对应的版本号的操作记录。这样,我们就可以恢复到任意版本了。

git reset 的选项
git reset 有很多可用的选项。可以通过帮助命令来查看。

git reset -h

其中,最常用的三个选项是:

–mixed: reset HEAD and index。表示重置 HEAD 指针和 index 暂存区,但保持工作区不变。它是默认选项。
–soft: reset only HEAD。表示仅仅重置 HEAD 指针,即只改变 HEAD 的指向,但保持工作区和暂存区不变。
–hard: reset HEAD, index and working tree。表示重置 HEAD 指针、index 暂存区和工作区。这个才是完整的版本回退。

命令查看版本库被修改的日志:

针对整个版本:

git log 

针对某个文件:

git log --  文件名//

查看每一次操作日志:(可以用于查找版本号)

git reflog

按Q键退出.


分支合并:

使用tortoisegit 工具,
进行分支合并之前我们需要明确哪个分支将要合并到哪个分支,首先通过“Switch/CheckOut”切换到主干分支(如develop分支),然后通过“Merge”继进行合并操作,在对话框中选择需要合并的分支。
分支合并成功后,我们即可以通过Commit与PUSH操作将合并上传到中心服务器。
过程中可能会失败:

Auto-merging 某某文件//自动合并某某文件
CONFLICT (content): Merge conflict in //分支冲突
.......
git did not exit cleanly (exit code 1) (344 ms @ 2018/7/27 0:48:52)

如图:
这里写图片描述
左下角的Resolve==解决/决定,,我们单击他.
这里写图片描述
上图,是我们要手动合并的冲突内容.
标红文件,重点解决.
双击文件,进行具体的合并.
这里写图片描述

查看本地的两个分支的区别

语法格式为:

git diff branch1 branch2

eg:


# 比较 develop 分支和 master 分支的区别
git diff develop master

查看本地分支和远程分支的区别


# 对比本地的 develop 分支和远程的 master 分支的区别
git diff develop origin/master

查看版本库的状态

git status

git status 命令非常有用。它可以查看版本库的当前状态,还可以看到相关操作的提示信息。

查看修改–详细到文件内容

如果你修改了工作区中的某些文件,想要查看具体更改了什么内容,可以使用 git diff 命令。

git diff . //注意,带点号
git diff filename

查看工作区和版本库的区别

如果你只是修改了工作区,还没有 git add 到暂存区,想要查看工作区和版本库的区别。

//查看工作区和版本库的区别
git diff

上述命令只能查看到工作区中已经存在的文件的修改,如果是新创建的文件,它追踪不到。如果修改和新文件已经 git add 到了暂存区,就需要使用下面的命令来查看。

查看两个版本之间的区别

如果你修改了工作区,已经 git add 到了暂存区,并且 git commit 到了版本库。这样 head 指针就指向了最新的版本。想要比较两个版本之间的区别。

语法: git diff 版本号1 版本号2

# 比较两个版本之间的差异
git diff 4129523 0a7d9af

在这个例子中,412952 是上一个版本的版本号,0a7d9af 是当前的版本号(最新版本号)。只取前 7 位就够了。

# 比较之前的版本和当前版本的差异
git diff 4129523 head
# 比较某个文件在两个版本之间的差异
git diff 09d9b45 head ./config/app.php
# 比较之前的版本和当前版本的差异的简写形式
git diff 4129523

猜你喜欢

转载自blog.csdn.net/guozhongwei1/article/details/81230156