sourcetree 如何让任意两个版本中同一个文件进行比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sourcetree 如何让任意两个版本中同一个文件进行比较相关的知识,希望对你有一定的参考价值。
问下大家git版本比较客户端程序sourcetree的使用问题,假设我又三个版本的代码,怎么才能够让sourcethree查看某个比较在我想要的任意两个版本呢??比如readme, 我想要在第一版与第三版中实现比较请问这个应该怎么去实现的呢?
参考技术A 选中任意两个提交版本,右键选择“创建补丁”,可以在创建补丁窗口中查看这两个版本的差异。因为不需要真的创建补丁,看完差异后取消就好了。 参考技术B 知道用命令如何实现,同样想知道用客户端 如何实现,哈哈sourcetree 及git版本工具使用
1. 如何reset自己本地的修改?
选中指定的返回版本,右键菜单选择“reset to this commit”, 然后选择hard 模式。
2. 如何解决两个分支间的conflict?
1. merge develop 到feature,首先merge A 到 B,修改conflict,然后提交。
2. merge feature 到develop,首先merge develop到feature,解决conflict问题,然后pull request,merge feature 到 develop
经典git教程:
http://git-scm.com/book/zh/v1
http://www.ruanyifeng.com/blog/2012/07/git.html
git 架构
git会有两个仓库,一个是remote repository,再远程服务器上,一个是local repository
git的三个区域:
remote repo --------------- local repo ----------------- local work area
git fetch 从remote repo 到 local repo
git checkout : 从local repo 到 local work area,切换工作区域和local repo的分支
git pull : 从remote repo 拉到 local repo 和 local work area.
git 一些常用命令,及区别
git branch 创建分支
git checkout 创建或切换分支
git fetch 将服务器的文件同步到本机器的服务器分支
git pull = git fetch + git merge to local
git reset --hard HEAD 将work area版本指向本地的最新版本。
典型的更新流程:
git checkout master
git fetch
git diff origin/master
git pull --rebase origin master
git add 添加文件
提交本地修改,并merge到本地的master分支
git commit
git checkout master
git merge branchname
提交到远程master分支
git push origin master:master
===============================
// 添加Git submodule仓库
git submodule add <remote_url> <local_path>
// 对于clone一个有submodule的仓库,是不会把submodule也clone下来
// 需要额外的步骤:
// 1. 注册submodule到.git/config里
git submodule init
// 2. clone submodule
git submodule update --recursive
// 上面两步等价于下面
git submodule update --init --recursive
// 如果修改了.gitmodule的remote url,使用下面的命令更新submodule的remote url
git submodule sync
如何更新module 子模组?
1. 先到子模组目录,git checkout master,git pull 更新同步 子模组
2. 再到父repo,查看状态git status,子模组更新状态会留在 super-repo
3. 提交子模组状态 git commit...
================
绝招:
如何找回误删的commit,包括hard reset模式?
1. git reflog // 找出近期所有的commit,包括误删的commit, reflog里包含了HEAD的修改记录
2. git show xxxx // 显示对应commit的一些详细信息, 或者使用 git log -g可以查看reflog中的详细内容
3. git branch .... xxxx // 将对应的commit,拉出一个分支....进行处理
以上是关于sourcetree 如何让任意两个版本中同一个文件进行比较的主要内容,如果未能解决你的问题,请参考以下文章