Skip to content

Commit ff21012

Browse files
committed
update README
1 parent d38b2d6 commit ff21012

File tree

2 files changed

+39
-5
lines changed

2 files changed

+39
-5
lines changed

README.md

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
3. 提交代码到本地仓库
2222

2323
```bash
24-
$ git commit -m "你的提交信息" (替换引号中内容,引号保留)
24+
$ git commit -m "你的提交信息"
2525
```
2626

2727
4. 推送代码到远程`GitHub`协作仓库
@@ -54,7 +54,7 @@
5454

5555
Q:为什么我提交代码出现了 reject 被拒绝?
5656

57-
A:因为是多人协作仓库,可能在你上传的时候,本地版本不一致,为了避免冲突,在此步骤`1. 更改已有的文件内容或者新增文件`之前需要增加`拉取仓库最新内容`的步骤:
57+
A:因为是多人协作仓库,可能在你上传的时候,本地版本不一致,为了避免冲突,在此步骤`1. 更改已有的文件内容或者新增文件`之前需要增加`拉取仓库最新内容`的步骤,为了便捷这一操作,可以直接双击`autoPull.bat`脚本文件进行一键拉取,或者命令
5858

5959
```bash
6060
# 命令解释:拉取 master 分支最新内容 origin:分支标记,master:分支名
@@ -63,11 +63,44 @@ $ git pull origin master
6363

6464
只要简历上写熟练使用 git ,一般都会问如何解决 git 冲突,下面说一下解决方案👇
6565

66-
解决冲突的方案:
67-
1. 最简单的:手动解决。重复第一步,先拉取仓库最新内容,然后文件中会出现需要手动解决冲突的内容,手动删改,然后再提交
68-
2. 学一下其他命令,例如 git checkout、git reset、git reverse
66+
**冲突原因分析:**
6967

68+
​ A 与 B 同时协作,A 更新了文件`Test.md`,然后 B 在本地也更新了文件`Test.md`,此时 A 并不知道,在进行 push 操作时被 reject。注意:新增的文件不会导致冲突,除非重名,所以发生冲突一般是更新导致的。
7069

70+
**解决冲突的方案:**
71+
72+
1. 最简单的——手动解决:不用变动刚才自己修改的内容,先拉取仓库最新内容,然后文件中会出现需要手动解决冲突的内容标记,手动选择删改,然后再 push
73+
2. 取消更改文件内容——命令:复制自己更新的文件内容(方便解决冲突后再次粘贴),`git checkout fileName.md`取消对某冲突文件的更改 --> `git pull origin master`拉取最新内容 --> 再次更新文件 --> 推送更新
74+
75+
76+
77+
**如何回滚代码:**
78+
79+
​ 一般文件的生命周期:内容修改 --> commit 到本地分支 --> push 到远仓
80+
81+
1. 对于已修改,但未 commit 文件的回滚:可以使用`git checkout fileName.md`取消对文件的更改
82+
83+
2. 对于已修改,已 commit或者push 文件的回滚:
84+
85+
```bash
86+
# 查看 git 日志的提交记录的32位 hash 值
87+
$ git log
88+
89+
# 回退提交,以 hash 值为 1234 为例(正常是32位)
90+
$ git revert 1234 或者 git reset --hard 1234
91+
92+
revert 会保留更改文件的历史记录,创建一条新的记录,reset 是强制回退,彻底的回到指定的版本,reset 有三种模式可以选择:soft、mixed(默认)、hard(常用)
93+
94+
--soft模式会重置指针,但不会修改工作目录或索引。这意味着之前的更改仍
95+
然存在于工作区中,并且可以重新提交。
96+
97+
--mixed模式是默认模式,它重置指针并更新索引以匹配指定的提交。这将取消索引中的所有更改,但工作目录中的更改将保留。
98+
99+
--hard模式会重置指针,索引和工作区。这意味着所有更改都将永久删除,并
100+
且没有办法澈销或恢复这些更改。
101+
```
102+
103+
71104

72105
参考文献:
73106

test.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
abcd

0 commit comments

Comments
 (0)