首先把主仓库个更新gitpull从主仓库创建一个临时分支gitbranchtmp切换到你的分支上去gitcheckout你的分支把临时分支merge过来就好了gitmergetmp如果出现冲突解决一下就好了
tag是对历史一个提交id的引用,如果理解这句话就明白了
使用git checkout tag即可切换到指定tag,例如:git checkout v010
切换到tag历史记录会处在分离头指针状态,这个是的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b tset v010 这个时候就会在分支上进行开发,之后可以切换到主线合并
我们简单的描述一个例子:
a)初始化 *** 作
有两个文件file1txt和file2txt
1, 初始化的时候就有这两个文件
*** 作:
git init
git status
git add
git commit -m “init version”
2, 在master分支上修改了file1txt,并提交
*** 作:
(修改file1txt)
git add file1txt
git commit -m “change file1”
3, 然后新建分支banana,并切换到banana分支上
*** 作:
git branch banana
git checkout banana
4, 修改file1txt和file2txt,并提交。
*** 作:
(修改file1txt和file2txt)
git add file1txt file2txt
git commit -m “change by banana”
这个时候,我们可以输入 gitk,查看一下当前的版本情况。如下图:git-001
5, 然后,切换到master分支上,修改file2txt,并提交。
*** 作:
git checkout master
(修改file2txt)
git add file2txt
git commit -m “change by master”
输入gitk,查看当前版本情况,如下图:git-002
b)发现问题需要查看历史版本
我们现在发现当前的版本有点问题,还不能提交到版本库。
1,我们需要从git commit中返回
则输入:
git reset --soft HEAD^
解释一下,HEAD是当前分支的最新版本。^表示父节点。当前节点的父节点,就是上一次提交的版本。也就是标记为“change file1”的版本。
问为什么不是”change by banana”这个版本呢?不同的分支哦。”change by banana”是banana分支的最新代码,和master分支不同的。
这个时候输入
git status
看看,是不是显示file2txt修改了没有提交呢。
2,我们需要从git add中返回
再仔细查看之后,我们发现file2txt真的写错了,需要返回到git add之前的状态。
输入:
git reset -q file2txt
这个时候,file2txt就回到了解放前了。用git status查看一下,file2txt是”change not staged for commit”状态。
3,回到没有做过的情况
我们最终确定,最后一次修改的file2txt是无用的代码,我们需要废弃掉。
注意,这个 *** 作不能恢复的哦。
git reset --hard
这个命令,不能指定具体的文件。是把当前的修改全部清除,恢复到最后一次提交的版本。
这个时候,用gitk查看一下:git-003
已经彻底回复到了“change file 1”的版本了。
4,直接回复到某个版本
我们现在切换到banana分支。
git checkout banana
然后用gitk看一下。可以看出,我们之前的 *** 作,对banana分支一点影响也没有。现在我们需要把banana分支回复到初始状态,但是当前的改动的代码还是需要留着。我们可以看,init版本是当前版本的父节点的父节点。我们可以这么 *** 作:
git reset --soft HEAD^^
然后用gitk看一下:git-004
最近的版本已经变成了init version了。所有的改动都是add未提交状态。
5,得到当前最新代码
最后。我们把file1txt和file2txt都删掉。我们需要从版本库中取得当前最新的代码。
很简单:
git checkout master
如果是要banana分支的最新代码,则:
git checkout banana
以上的 *** 作,我们知道了如何查看版本分支,和如何回复到以前的版本。
以上就是关于如何获取git仓库分支http地址全部的内容,包括:如何获取git仓库分支http地址、如何使用git获取指定tag的代码、git 获取历史版本的几种方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)