git怎样导出最新版本修改文件|Git如何从远程拉取最新代码并与本地代

㈠ git获取历史版本的几种方式

我们简单的描述一个例子:

a)初始化操作

有两个文件file1.txt和file2.txt

1, 初始化的时候就有首配这两个文件

操作:

git init

git status

git add .

git mit -m “init version”

2, 在master分支上修改了file1.txt,并提交

操作:

(修改file1.txt)

git add file1.txt

git mit -m “change file1”

3, 然后新建分支banana,并切换到banana分支上

操作:

git branch banana

git checkout banana

4, 修改file1.txt和file2.txt,并提交。

操作:

(修改file1.txt和file2.txt)

git add file1.txt file2.txt

git mit -m “change by banana”

这个时候,我们可以输入 gitk,查看一下当前的版本情况。

如下图:git-001

5, 然后,切换到master分支上,修改file2.txt,并提交。

操作:

git checkout master

(修改file2.txt)

git add file2.txt

git mit -m “change by master”

输入gitk,查看当前版本情况,如下图:git-002

b)发现问题需要查看历史版本

我们现在发现当前的版本有点问题,还不能提交到版本库。

1,我们需要从git mit中返回.

则输入:

git reset –soft HEAD^

解释一下,HEAD是当前分支的最新版本。

^表示父节点。

当前节点的父节点,就是上一次提交的版本。

也就是标记为“change file1”的版本。

问为什么不是”change by banana”这个版本呢者扒指?不同的分支哦。

”change by banana”是banana分支的最新代码,和master分支不同的。

这个时候输入

git status

看看,是不是显示file2.txt修改了没有提交呢。

2,我们需要从git add中返回

再仔细查看之后,我们发现file2.txt真的写错了,需要返回到此悔git add之前的状态。

输入:

git reset -q file2.txt

这个时候,file2.txt就回到了解放前了。

用git status查看一下,file2.txt是”change not staged for mit”状态。

3,回到没有做过的情况

我们最终确定,最后一次修改的file2.txt是无用的代码,我们需要废弃掉。

注意,这个操作不能恢复的哦。

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,得到当前最新代码

最后。

我们把file1.txt和file2.txt都删掉。

我们需要从版本库中取得当前最新的代码。

很简单:

git checkout master

如果是要banana分支的最新代码,则:

git checkout banana

以上的操作,我们知道了如何查看版本分支,和如何回复到以前的版本。

㈡ Git如何从远程拉取最新代码,并与本地代

安装git,不同系统安装命令不同apt-get install gityum install gitpkg install git…本地创建仓库,在需要的目录执行命令git init不执行这个,会找不到版本地仓库位置,拉取权了也找不到仓库存放。拉取仓库的代码git pull 远程仓库地址发送代码到远程有点复杂,不过也挺简单发送代码的时候,本地仓库里的代码必须和远程仓库里的代码一样,因为如果不一样,那就乱套了,所以要先拉取,覆盖到本地仓库,用网页在远程仓库新增或修改文件后,需要拉取代码覆盖本地没修改的,否则远程仓库拒绝接受。添加要发送的文件git add 文件名称(git add .).代表添加所有文件添加要上传的文件之后,必须要给文件注释,否则远程仓库拒绝接收。git commit -m "对文件的解释信息"最后就可以发送了git push 远程仓库地址 分支名弄了2天才弄懂,790431300.github.io


赞 (0)