开始提交历史如下图所示,我是使用source tree 来查看提交历史的。
![](https://img.haomeiwen.com/i3611193/abb44c1bcd8124d5.png)
我的目的是将v3版本的 MainActivity.java 和 SecondActivity.kt 重置到v1版本。
v1版本
MainActivity.java
private void mainV1(){
}
SecondActivity.kt
private fun secondV1(){
}
v2版本
MainActivity.java
private void mainV1() {
}
private void mainV2() {
}
SecondActivity.kt
private fun secondV1() {
}
private fun secondV2() {
}
v3版本
MainActivity.java
private void mainV1() {
}
private void mainV2() {
}
private void mainV3() {
}
SecondActivity.kt
private fun secondV1() {
}
private fun secondV2() {
}
private fun secondV3() {
}
从v1到v3版本每个版本分别为MainActivity.java 和 SecondActivity.kt 各自添加了一个方法。
现在开始将v3版本的 MainActivity.java 和 SecondActivity.kt 重置到v1版本。
首先我们看到 v1提交的 commit id 是 d44f32e
然后运行命令
git reset d44f32e app/src/main/java/com/hm/gitdemo/MainActivity.java app/src/main/java/com/hm/gitdemo/SecondActivity.kt
然后我们查看一下暂存区和工作区的文件,如下图所示
![](https://img.haomeiwen.com/i3611193/5aab228c5981c1a1.png)
这个时候,暂存区中的文件就是v1版本的MainActivity.java 和SecondActivity.kt 。
工作区中的文件就是v3版本的MainActivity.java 和SecondActivity.kt 。
接下来我们丢弃工作区的内容。
运行命令
git checkout -- app/src/main/java/com/hm/gitdemo/MainActivity.java app/src/main/java/com/hm/gitdemo/SecondActivity.kt
最后我们将暂存区中的内容提交就完成了我们的重置工作。
git commit -m "重置某些文件到v1版本。"
最终的提交历史如下图所示。
![](https://img.haomeiwen.com/i3611193/536e51f016d2e0a3.png)
参考链接
网友评论