时间:2021-05-25
修改错误的提交信息commit message
提交信息很长时间内会一直保留在你的代码库code base中,所以你肯定希望通过这个信息正确地了解代码修改情况。 下面这个命令可以让你编辑最近一次的提交信息,但是你必须确保没有对当前的代码库working copy做修改,否则这些修改也会随之一起提交。
[/code]
$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”
[/code]
假如你已经将代码提交(git commit)推送(git push)到了远程分支,那么你需要通过下面的命令强制推送这次的代码提交。
复制代码代码如下:
$ git push <remote> <branch> --force
从当前Git分支移除未追踪的本地文件
假设你凑巧有一些未被追踪的文件(因为不再需要它们),不想每次使用git status命令时让它们显示出来。下面是解决这个问题的一些方法:
复制代码代码如下:
$ git clean -f -n # 1
$ git clean -f # 2
$ git clean -fd # 3
$ git clean -fX # 4
$ git clean -fx # 5
(1): 选项-n将显示执行(2)时将会移除哪些文件。
(2): 该命令会移除所有命令(1)中显示的文件。
(3): 如果你还想移除文件件,请使用选项-d。
(4): 如果你只想移除已被忽略的文件,请使用选项-X。
(5): 如果你想移除已被忽略和未被忽略的文件,请使用选项-x。
请注意最后两个命令中X的区别。
修复更早期的 commit
场景: 你在一个更早期的 commit 里忘记了加入一个文件,如果更早的 commit 能包含这个忘记的文件就太棒了。你还没有 push,但这个 commit 不是最近的,所以你没法用 commit --amend.
方法:
复制代码代码如下:git commit --squash <SHA of the earlier commit>和
复制代码代码如下: git rebase --autosquash -i <even earlier SHA>
原理:
复制代码代码如下:git commit --squash会创建一个新的 commit ,它带有一个 commit 消息,类似于 squash! Earlier commit。 (你也可以手工创建一个带有类似 commit 消息的 commit,但是 commit --squash 可以帮你省下输入的工作。)
如果你不想被提示为新合并的 commit 输入一条新的 commit 消息,你也可以利用 git commit --fixup 。在这个情况下,你很可能会用commit --fixup ,因为你只是希望在 rebase 的时候使用早期 commit 的 commit 消息。
复制代码代码如下:rebase --autosquash -i 会激活一个交互式的 rebase 编辑器,但是编辑器打开的时候,在 commit 清单里任何 squash! 和 fixup! 的 commit 都已经配对到目标 commit 上了,如下所示:
在使用 --squash 和 --fixup 的时候,你可能不记得想要修正的 commit 的 SHA 了— 只记得它是前面第 1 个或第 5 个 commit。你会发现 Git 的 ^ 和 ~ 操作符特别好用。HEAD^ 是 HEAD 的前一个 commit。 HEAD~4 是 HEAD 往前第 4 个 – 或者一起算,倒数第 5 个 commit。
停止追踪一个文件
场景: 你偶然把 application.log 加到代码库里了,现在每次你运行应用,Git 都会报告在 application.log 里有未提交的修改。你把 *.login 放到了 .gitignore 文件里,可文件还是在代码库里 — 你怎么才能告诉 Git “撤销” 对这个文件的追踪呢?
方法:
复制代码代码如下:git rm --cached application.log
原理: 虽然 .gitignore 会阻止 Git 追踪文件的修改,甚至不关注文件是否存在,但这只是针对那些以前从来没有追踪过的文件。一旦有个文件被加入并提交了,Git 就会持续关注该文件的改变。类似地,如果你利用 git add -f 来强制或覆盖了 .gitignore, Git 还会持续追踪改变的情况。之后你就不必用-f 来添加这个文件了。
如果你希望从 Git 的追踪对象中删除那个本应忽略的文件, git rm --cached 会从追踪对象中删除它,但让文件在磁盘上保持原封不动。因为现在它已经被忽略了,你在 git status 里就不会再看见这个文件,也不会再偶然提交该文件的修改了。
删除本地和远程Git分支
删除本地分支:
复制代码代码如下:
$ git branch --delete --force <branchName>
或者使用选项-D作为简写:
复制代码代码如下:
$ git branch -D
删除远程分支:
复制代码代码如下:
$ git push origin --delete <branchName>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们在编辑视频的时候,很多时候需要用到撤销操作命令,例如我们对视频素材进行了错误操作,此时可以对错误操作进行撤销,还原至操作之前的状态。软件名称:Canopus
投影机错误操作可致灯泡爆裂投影灯泡仍没有多大的降幅,过高的价格让我们更应该好好的爱护现有的灯泡,尤其要杜绝一些本可避免的错误操作,因为如不加以注意它有可以能让你
误删了电脑文件怎么办?那么我们如何恢复删除的文件,由于误操作,把文件给错误删除了,很多朋友可能碰到过这种情况,一不小心或错误操作,以及一些其他什么原因,删除了有
前言相信大家都知道任何版本控制系统的一个最有的用特性就是“撤销(undo)”你的错误操作的能力。在Git里,“撤销”蕴含了不少略有差别的功能。当你进行一次新的提
这篇文章主要介绍了CentOS下Git操作命令整理,需要的朋友可以参考下之前使用Github都是使用IDE中的一些git插件,一直想学学git命令行的操作,我是