git 常规操作以及回滚操作
2019独角兽企业重金招聘Python工程师标准>>>
在这里记录一些平时比较常用的git的命令行操作,以及一些回滚的操作,以提高我们平时的开发效率。
首先我的 git 项目仓库在 bitbucket 上面,所以我在 bitbucket 上面创建一个空的项目。项目的名字就叫test1。
创建完项目我们会得到一个项目的仓库地址,就在图片中 Overview 这几个字的下面。
先来介绍一下 git 的几个概念。
* 工作区
* 暂存区
* 本地仓库
* 远程仓库
工作区即我们的开发环境。
暂存区即所有文件能被git追踪的环境。
本地仓库顾名思义即本地的一个项目仓库,每个开发者都有一个独立的本地的仓库。
远程仓库所有代码的最终归属地。
再来一张 git 命令的简要说明。
准备工作做完之后下面就开始介绍命令(以下操作都在命令行下完成)。
1.下载项目
git clone <项目地址>
bingaos-MBP:Desktop bingao# git clone https://Mike244483@bitbucket.org/Mike244483/test1.git
Cloning into 'test1'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
在当前目录下会有一个test1的目录,进入目录可以看到刚才创建项目自动生成的README.md文件。
bingaos-MBP:Desktop bingao# cd test1/
bingaos-MBP:test1 bingao$ ls -l
total 8
-rw-r--r-- 1 bingao staff 9 Feb 21 14:17 README.md
bingaos-MBP:test1 bingao#
2.从远程库获取最新的代码
git fetch
3.下载最近代码
git pull
4.创建一个文件并提交到远程仓库
这里我先创建一个 a.txt 内容为 123
bingaos-MBP:test1 bingao# echo 123 > a.txt
bingaos-MBP:test1 bingao# ls -l
total 16
-rw-r--r-- 1 bingao staff 9 Feb 21 14:17 README.md
-rw-r--r-- 1 bingao staff 4 Feb 21 14:32 a.txt
bingaos-MBP:test1 bingao#
使用 git status 查看当前项目状态
bingaos-MBP:test1 bingao# git status
On branch master
Your branch is up-to-date with 'origin/master'.Untracked files:(use "git add <file>..." to include in what will be committed)a.txtnothing added to commit but untracked files present (use "git add" to track)
bingaos-MBP:test1 bingao#
根据提示可以看到我当前的分支是 master 分支, 有一个 a.txt 文件还没有被git追踪
那根据提示先使用 git add 把 a.txt 加入到 git 仓库,使 git 可以感知到文件的变化。
git add <filename> #添加指定文件到 git 仓库
git add . #添加当前目录到 git 仓库
bingaos-MBP:test1 bingao# git add a.txt
bingaos-MBP:test1 bingao# git status
On branch master
Your branch is up-to-date with 'origin/master'.Changes to be committed:(use "git reset HEAD <file>..." to unstage)new file: a.txtbingaos-MBP:test1 bingao#
再次使用 git status 可以看到提示说 a.txt 可以被提交到暂存区。
使用 git commit -m '<comments>' 命令提交所有暂存区的文件到本地仓库。
bingaos-MBP:test1 bingao# git commit -m 'add a.txt'
[master 1289dee] add a.txt1 file changed, 1 insertion(+)create mode 100644 a.txt
bingaos-MBP:test1 bingao#
再次使用 git status 命令
bingaos-MBP:test1 bingao# git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.(use "git push" to publish your local commits)nothing to commit, working tree clean
bingaos-MBP:test1 bingao#
可以看到提示 我的分支比远程分支的 master 分支提前一个版本。
使用 git push 来推送本地仓库的修改到远程仓库。
bingaos-MBP:test1 bingao# git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 276 bytes | 276.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://bitbucket.org/Mike244483/test1.git9b49f08..1289dee master -> master
bingaos-MBP:test1 bingao#
好了,这样在远程分支就可以看到创建的 a.txt 文件了。
5.查看分支
git branch #查看当前分支
git branch -r #查看远程分支
git branch -a #查看所有分支
bingaos-MBP:test1 bingao# git branch
* master
bingaos-MBP:test1 bingao# git branch -rorigin/HEAD -> origin/masterorigin/master
bingaos-MBP:test1 bingao# git branch -a
* masterremotes/origin/HEAD -> origin/masterremotes/origin/master
bingaos-MBP:test1 bingao#
6. 创建分支
git branch <新的分支号>
bingaos-MBP:test1 bingao# git branch v1.0.0
bingaos-MBP:test1 bingao# git branch
* masterv1.0.0
bingaos-MBP:test1 bingao#
7.提交本地分支到远程仓库
git push 的时候会提示说远程仓库没有叫 v1.0.0 的分支 要提交的话需加上 --set-upstream 参数。
bingaos-MBP:test1 bingao# git push
fatal: The current branch v1.0.0 has no upstream branch.
To push the current branch and set the remote as upstream, usegit push --set-upstream origin v1.0.0bingaos-MBP:test1 bingao# git push --set-upstream origin v1.0.0
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 298 bytes | 298.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create pull request for v1.0.0:
remote: https://bitbucket.org/Mike244483/test1/pull-requests/new?source=v1.0.0&t=1
remote:
To https://bitbucket.org/Mike244483/test1.git* [new branch] v1.0.0 -> v1.0.0
Branch v1.0.0 set up to track remote branch v1.0.0 from origin.
bingaos-MBP:test1 bingao#
8.切换分支
git checkout <分支号>
bingaos-MBP:test1 bingao# git checkout v1.0.0
Switched to branch 'v1.0.0'
bingaos-MBP:test1 bingao$ git branchmaster
* v1.0.0
bingaos-MBP:test1 bingao#
9.查看提交历史
git log
bingaos-MBP:test1 bingao# git log
commit 1289deec34cdde05f25f5891b48b95d0645eca37 (HEAD -> v1.0.0, origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao#
常用操作介绍完了,下面介绍 git 的各种回滚操作。为了方便演示先创建了一些文件。
master 分支为如下内容
README.md, a.txt
v1.0.0 分支为如下内容
README.md, a.txt, b.txt
1.撤销本地修改
当修改了一波代码之后发现代码写得很挫不要了,直接恢复到当前分支的最新版本。
git checkout <filename>
bingaos-MBP:test1 bingao# ll
total 24
-rw-r--r-- 1 bingao staff 9 Feb 21 14:17 README.md
-rw-r--r-- 1 bingao staff 4 Feb 21 14:32 a.txt
-rw-r--r-- 1 bingao staff 4 Feb 21 15:13 b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
bingaos-MBP:test1 bingao# echo qwe >> b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
qwe
bingaos-MBP:test1 bingao# git checkout b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
bingaos-MBP:test1 bingao#
b.txt 本来的内容为 456, 在文件末尾追加了qwe。使用 git checkout b.txt 直接将文件内容恢复到 456。
2.本地修改已经提交到暂存区,从暂存区撤销文件回到工作区。
git reset <filename>
bingaos-MBP:test1 bingao# cat b.txt
456
bingaos-MBP:test1 bingao# echo qwe >> b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
qwe
bingaos-MBP:test1 bingao# git add b.txt
bingaos-MBP:test1 bingao# git status
On branch v1.0.0
Your branch is up-to-date with 'origin/v1.0.0'.Changes to be committed:(use "git reset HEAD <file>..." to unstage)modified: b.txtbingaos-MBP:test1 bingao# git reset b.txt
Unstaged changes after reset:
M b.txt
bingaos-MBP:test1 bingao# git status
On branch v1.0.0
Your branch is up-to-date with 'origin/v1.0.0'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: b.txtno changes added to commit (use "git add" and/or "git commit -a")
bingaos-MBP:test1 bingao# cat b.txt
456
qwe
追加 qwe 到 b.txt,并且执行了 git add 提交到暂存区。 使用 git reset b.txt 从暂存区撤销,但文件内容保持保留不变。
3.撤销已提交到本地仓库的提交
git reset <上一次commit id>
bingaos-MBP:test1 bingao# git log
commit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be (HEAD -> v1.0.0, origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao# cat b.txt
456
bingaos-MBP:test1 bingao# echo qwe >> b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
qwe
bingaos-MBP:test1 bingao# git add b.txt
bingaos-MBP:test1 bingao# git commit -m 'add b.txt'
[v1.0.0 058d31e] add b.txt1 file changed, 1 insertion(+)
bingaos-MBP:test1 bingao# git status
On branch v1.0.0
Your branch is ahead of 'origin/v1.0.0' by 1 commit.(use "git push" to publish your local commits)nothing to commit, working tree clean
bingaos-MBP:test1 bingao# git log
commit 058d31eb7dd9a4ba525643652235643e7f330e17 (HEAD -> v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:33:30 2018 +0800add b.txtcommit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be (origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao#
这里我将 qwe 追加到 b.txt 文件并且已经提交到本地仓库。使用 git log 看到 HEAD 指向的v1.0.0是我刚才修改的,而远程仓库上的v1.0.0分支的版本号是 c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be。我们将本地仓库的这次提交撤销回滚到远程仓库的分支。
bingaos-MBP:test1 bingao# git reset c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be
Unstaged changes after reset:
M b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
qwe
bingaos-MBP:test1 bingao# git status
On branch v1.0.0
Your branch is up-to-date with 'origin/v1.0.0'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: b.txtno changes added to commit (use "git add" and/or "git commit -a")
bingaos-MBP:test1 bingao# git log
commit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be (HEAD -> v1.0.0, origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao#
从提交历史中可以看到刚才的commit ID已经不见了,b.txt 也回到了工作区的状态,文件内容也保留。如果想要放弃文件内容使用 git reset --hard <上一次commit id> 即可。
4.撤销已提交到远程仓库的提交
这种撤销有2个方式可以实现。
一种方式是使用 git reset --hard; git push --force。这种方式是强制回滚到指定的版本再强制提交到远程仓库。这种方式在2次提交中间的提交历史会看不到。
bingaos-MBP:test1 bingao# echo asdfasdf >> b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
qwe
asdfasdf
bingaos-MBP:test1 bingao# git add b.txt
bingaos-MBP:test1 bingao# git commit -m 'random update b.txt'
[v1.0.0 83f68fd] random update b.txt1 file changed, 2 insertions(+)
bingaos-MBP:test1 bingao# git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 270 bytes | 270.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: Create pull request for v1.0.0:
remote: https://bitbucket.org/Mike244483/test1/pull-requests/new?source=v1.0.0&t=1
remote:
To https://bitbucket.org/Mike244483/test1.gitc2eb27e..83f68fd v1.0.0 -> v1.0.0
bingaos-MBP:test1 bingao# git log
commit 83f68fd76d37aca072547661d134c9c25220065b (HEAD -> v1.0.0, origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:51:31 2018 +0800random update b.txtcommit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao#
这里我提交了一个 random update b.txt, 随意的修改了b.txt文件并且已经提交到了远程分支(使用 git log 看到HEAD和origin都是指向的我刚才那个提交)。现在我想回滚到 c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be 这个分支。
bingaos-MBP:test1 bingao# git reset --hard c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be
HEAD is now at c2eb27e b.txt
bingaos-MBP:test1 bingao# git push --force
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create pull request for v1.0.0:
remote: https://bitbucket.org/Mike244483/test1/pull-requests/new?source=v1.0.0&t=1
remote:
To https://bitbucket.org/Mike244483/test1.git+ 83f68fd...c2eb27e v1.0.0 -> v1.0.0 (forced update)
bingaos-MBP:test1 bingao# git log
commit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be (HEAD -> v1.0.0, origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao$
当执行完 git reset; git push 之后可以看到 git log 中已看不到刚才的 random update b.txt, 文件已回滚到指定的版本。
第二种方式是使用 git revert; git push。git revert 是使用一次新的提交来撤销指定版本,并且在提交历史中可以查到相关操作记录。
bingaos-MBP:test1 bingao# cat b.txt
456
bingaos-MBP:test1 bingao# echo zxcv >> b.txt
bingaos-MBP:test1 bingao# cat b.txt
456
zxcv
bingaos-MBP:test1 bingao# git add b.txt
bingaos-MBP:test1 bingao# git commit -m 'random update 2 b.txt'
[v1.0.0 319ca45] random update 2 b.txt1 file changed, 1 insertion(+)
bingaos-MBP:test1 bingao# git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 267 bytes | 267.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: Create pull request for v1.0.0:
remote: https://bitbucket.org/Mike244483/test1/pull-requests/new?source=v1.0.0&t=1
remote:
To https://bitbucket.org/Mike244483/test1.gitc2eb27e..319ca45 v1.0.0 -> v1.0.0
bingaos-MBP:test1 bingao# git log
commit 319ca45e084a7cee031b0e19571f640efcd73328 (HEAD -> v1.0.0, origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:58:26 2018 +0800random update 2 b.txtcommit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao# cat b.txt
456
zxcv
bingaos-MBP:test1 bingao#
这里我又做了一次提交 修改了 b.txt 的内容,追加了 zxcv (任意字符串)。
这次使用 git revert 操作
bingaos-MBP:test1 bingao# git revert 319ca45e084a7cee031b0e19571f640efcd73328
[v1.0.0 fb0fe30] Revert "random update 2 b.txt"1 file changed, 1 deletion(-)
bingaos-MBP:test1 bingao# git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 297 bytes | 297.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: Create pull request for v1.0.0:
remote: https://bitbucket.org/Mike244483/test1/pull-requests/new?source=v1.0.0&t=1
remote:
To https://bitbucket.org/Mike244483/test1.git319ca45..fb0fe30 v1.0.0 -> v1.0.0
bingaos-MBP:test1 bingao# git log
commit fb0fe3053fed1bb374a834151c17f30a5b6df54b (HEAD -> v1.0.0, origin/v1.0.0)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 16:00:21 2018 +0800Revert "random update 2 b.txt"This reverts commit 319ca45e084a7cee031b0e19571f640efcd73328.revert random update 2commit 319ca45e084a7cee031b0e19571f640efcd73328
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:58:26 2018 +0800random update 2 b.txtcommit c2eb27ec8c1d1911b4b79a9a7cc4063fb3ad98be
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 15:13:44 2018 +0800b.txtcommit 1289deec34cdde05f25f5891b48b95d0645eca37 (origin/master, origin/HEAD, master)
Author: Michael <wudongming1021@126.com>
Date: Wed Feb 21 14:57:08 2018 +0800add a.txtcommit 9b49f080b675ee58fb0f2ea68949928f0143a434
Author: Mike <wudongming1021@gmail.com>
Date: Wed Feb 21 06:13:38 2018 +0000Initial commit
bingaos-MBP:test1 bingao# cat b.txt
456
bingaos-MBP:test1 bingao#
通过 git log 可以看到 random update 2 b.txt 这个提交历史还在,但是又多了一个 Revert "random update 2 b.txt" 这个提交历史,这个就是刚才执行的 git revert 操作。
需要注意的是 git reset 指定的 commit id 是需要回滚到的那个commit id。git revert 指定的 commit id 是需要被回滚的 commit id。
5.回滚到上一个版本
git reset HEAD^ # ^为上一个版本 ^^为上二个版本 ^^^为上三个版本
如需废弃现有的修改 git reset --hard HEAD^
6.强制覆盖本地
git reset --hard origin/<branch_name>
使用远程分支覆盖本地修改
7.回滚到指定版本
git reset <commit id>
git reset —hard <commit id>
8.删除远程分支上的文件
git rm <filename>
git commit -m ''
git push
9.git rebase / git merge
这2个命令就做下说明。git merge 将我分支上的修改内容合并到别的分支上。git rebase, 如我创建了一个分支编写一个新功能,但是花的时间比较长已与主分支版本有很大的不同,这时候可以使用 git rebase 把主分支上的修改同步到我的分支上。
转载于:https://my.oschina.net/u/232911/blog/1622483
git 常规操作以及回滚操作相关推荐
- Git:撤销回滚操作
Git撤销&回滚操作(git reset 和 get revert) git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git ...
- 1.2 git回滚操作
1.远程仓库中有的文件,但是本地要给删除掉,如何同步 git ls-files //查看暂存区是否有该文件,以readme.md为例 git rm -r --cached readme.md //删除 ...
- 在idea中纯界面进行git回滚操作
在idea中git回滚操作 红色:工作区 绿色:缓存区 白色:已提交(本地版本库或者远程版本库) 通常我们都是在缓存区中写代码 第一步:reset到回滚的版本 找到需要回滚的版本,将代码重置到需要回滚 ...
- java SSM多操作注解回滚
在业务操作时难免会遇到一个业务多操作,会用到事物回滚这里写了一个简单的多操作失败事物回滚案例 在这之前你需要在你的applicationContext-mybatis.xml中配置: <!-- ...
- Team Foundation Server的回滚操作
VSTF Rollback 操作 最近遇到要把有些项目需要做回滚操作,发现TFS的UI上没有回滚的操作. 经过百度,查到一个CSDN上的博主发了一种方法,经过验证,那种方法是错误的: 他通过先获取指定 ...
- javaweb中mysql数据库的回滚操作代码
2019独角兽企业重金招聘Python工程师标准>>> 在mysql中创建用户账户数据库(注意,count不能为负数,要设置无符号型) 添加数据 下面我们得到connection对象 ...
- k8s利用deployment部署pod,以及应用更新和回滚操作
deployment部署pod,也是通过yaml文件的方式部署.deployment通过yaml文件定义需要deploy名称,需要几个pod协助运行,拉取的镜像版本等内容.一般来说一个deployme ...
- Java后端之数据库操作事务回滚
什么是事物 事物是应用程序中一系列操作,事物完成是指所有的操作都完成,事物不完成是指一个操作也不能完成,事物结束有两种情况,当事务中的所有步骤全部完成时,事务提交,如果一个步骤失败,则发生回滚操作,撤 ...
- VMware12卸载之后安装其他版本导致回滚操作的解决方法之一
第二篇博客,因为困扰了我很久,最后很神奇的解决了. 没有怎么记录,没有什么截图,先文字复述我当时的情况: 文字较多大家可以直接看下面的解决方法 1:运行VMware12时打开配置突然卡死,没有等待VM ...
最新文章
- AI居然能算出情侶能交往多久?使用分析语音数据進行預測
- ios开发中,User Defined Runtime Attributes的应用
- teach and learn
- Android 开发 Tips
- ActiveMQ的签收方式
- (todo)数组名 有存储空间吗?
- 微软杀毒软件 Microsoft Defender 将发布 Linux 版本
- VSCode无法写入用户设置 请打开用户设置并清除错误或警告, 然后重式
- 第7讲 视觉里程计1
- 2021-2025年中国短脉冲激光器行业市场供需与战略研究报告
- python命令行tab实例小妙招
- “物联网开发实战”学习笔记-(一)硬件开发环境的搭建
- matlab设计理想带通滤波器 bpf(f_sf_b1_b2),QDPSK信号数字化解调器中带通滤波器的设计与仿真...
- 主从复制报错Fatal error:The slave I/O thread stops because master and slave have equal MySQL server UUIDs;
- unity 导入mixamo动画材质设置
- cmd删除Windows凭据管理器
- 昆明理工大学计算机学院李博,昆明理工大学
- 恐怖呀,恐怖....
- 如何创建html模版可编辑区,Dreamweaver中如何使用模板的创建与编辑
- linux下usb充电问题,如何解决在Ubuntu上iPad不能充电的问题