File tree Expand file tree Collapse file tree 2 files changed +39
-5
lines changed
Expand file tree Collapse file tree 2 files changed +39
-5
lines changed Original file line number Diff line number Diff line change 21213. 提交代码到本地仓库
2222
2323 ` ` ` bash
24- $ git commit -m " 你的提交信息" (替换引号中内容,引号保留)
24+ $ git commit -m " 你的提交信息"
2525 ` ` `
2626
27274. 推送代码到远程` GitHub` 协作仓库
5454
5555Q:为什么我提交代码出现了 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
Original file line number Diff line number Diff line change 1+ abcd
You can’t perform that action at this time.
0 commit comments