11# Git 使用简要备忘录
22
3- # 1. 初次运行 Git 前的配置
3+ ## 1. 初次运行 Git 前的配置
44
55Step1:配置用户信息。鼠标右键单击打开
` Git Bash ` ,初次使用 Git 首先须设置你的用户名(例如:me)和邮件地址(例如:
[email protected] )。(
` --global ` 意味着你的用户名和邮件地址信息为全局信息,之后无论你在该系统上做任何事情, Git 都会使用那些信息。)
66
@@ -16,16 +16,14 @@ Step2:检查配置信息。设置好用户名和邮件地址后,可以用下
1616git config --list
1717```
1818
19- ##
20-
21- # 2. 获取 Git 本地仓库
19+ ## 2. 获取 Git 本地仓库
2220
2321### 情景一:自己新建一个项目(以 Win10 系统为例)
2422
2523Step1:初始化本地仓库。初始化仓库后,当前工作目录下会有一个 .git 文件。
2624
2725``` bash
28- 码cd D:\M yProject\G itStudy # 选择工作目录;
26+ cd D:\M yProject\G itStudy # 选择工作目录;
2927
3028git init # 初始化仓库;
3129```
@@ -253,6 +251,133 @@ git merge mybranch
2532512 . 从远程库下载一个完整项目到本地采用:** 克隆 git clone** ;
2542523 . 将远程库上有的但你没有的内容合并到本地库采用:** 拉取 git fetch** ` , ` ** 拉取并合并 git pull** 。
255253
254+ - 查看当前分支
255+
256+ ``` bash
257+ $ git branch
258+ ```
259+
260+ - 创建分支
261+
262+ ``` bash
263+ $ git checkout -b 分支名
264+ ```
265+
266+ ` git checkout ` 命令加上` -b ` 参数,表示创建分支并切换,它相当于下面的两个命令:
267+
268+ ``` bash
269+ $ git branch dev //创建分支
270+ $ git checkout dev //切换到创建的分支
271+ ```
272+
273+ ### 提交
274+
275+ 在上面,我们已经创建好了一个分支` myBranch ` ,我们一天要写两章小说,当我每写完一章以后,我要将它先存入暂存区,当一天的工作完毕以后,统一将暂存区的代码提交到本地仓库,最后再上传到远程仓库,并且合并
276+
277+ - 上传暂存区
278+
279+ ``` bash
280+ $ git add . //将修改的文件全部上传
281+ $ git add xxx //将xxx文件上传
282+ ```
283+
284+ - 提交到本地仓库
285+
286+ ``` bash
287+ git commit -m ' 提交代码的描述'
288+ ```
289+
290+ - 提交到远程仓库的对应分支
291+
292+ ``` bash
293+ $ git push origin xxx //xxx是对应分支名
294+ ```
295+
296+ - 合并分支
297+
298+ ``` bash
299+ $ git checkout master //首先切换分支到master
300+ $ git merge mybranch
301+ ```
302+
303+ - 删除分支
304+
305+ 当你合并完分支以后,` mybranch ` 分支就可以删除了
306+
307+ ``` bash
308+ $ git branch -d mybranch
309+ ```
310+
311+ ### 解决冲突
312+
313+ Git 合并分支产生冲突的原因通常是因为两个或多个分支上的相同部分有了不同的修改。这可能是因为以下几个原因:
314+
315+ 1 . ** 并行开发** :团队中的不同成员在不同的分支上同时开发功能或修复 bug。如果他们修改了相同的文件或代码行,就会导致合并冲突。
316+ 2 . ** 分支基于旧版本** :当从一个旧的提交创建分支,然后在原始分支上进行了更改时,可能会导致冲突。这是因为在创建分支后,原始分支可能已经有了新的提交。
317+ 3 . ** 重命名或移动文件** :如果一个分支重命名或移动了一个文件,而另一个分支对同一文件进行了修改,就会导致冲突。
318+ 4 . ** 合并冲突的解决方法不同** :在合并分支时,有时会使用不同的合并策略或解决方法,这可能会导致冲突。
319+ 5 . ** 历史分叉** :如果两个分支的历史分叉很远,可能会存在较大的差异,从而导致合并时出现冲突。
320+
321+ 于是我们需要将冲突解决再重新合并分支,解决冲突也就是查看文件新增了哪些代码,你需要保留哪些代码,把不需要的删去就可以了...
322+
323+ 我们还需养成一个好习惯,就是在开发之前先` git pull ` 一下,更新一下自己本地的代码确保版本是最新的。
324+
325+ ### 添砖加瓦
326+
327+ 如果我已经使用` git commit -m 'xxx' ` 将代码提交到了本地仓库,但是我后续还想向这个提交中添加文件,那我该怎么办呢?
328+
329+ 1 . 首先将你想添加到文件使用` git add xxx ` 加入暂存区
330+ 2 . 然后运行以下命令:
331+
332+ ``` bash
333+ $ git commit --amend
334+ ```
335+
336+ 这将会打开一个编辑器,让你编辑上一次提交的提交信息。如果你只是想要添加文件而不改变提交信息,你可以直接保存并关闭编辑器。
337+
338+ 1 . Git 将会创建一个新的提交,其中包含之前的提交内容以及你刚刚添加的文件。
339+
340+ ### 您撤回了一次push
341+
342+ 代码推送到远程仓库的master上以后,我发现有bug,挨批是不可避免了,批完还得接着解决...
343+
344+ 1 . 撤销最新的提交并保留更改
345+
346+ ``` bash
347+ $ git reset HEAD^
348+ ```
349+
350+ 这会将最新的提交从 master 分支中撤销,但会保留更改在工作目录中。你可以修改这些更改,然后重新提交。
351+
352+ 1 . 撤销最新的提交并丢弃更改
353+
354+ ``` bash
355+ $ git reset --hard HEAD^
356+ ```
357+
358+ 这会完全撤销最新的提交,并丢弃相关的更改。慎用,因为这将永久丢失你的更改
359+
360+ 1 . 创建新的修复提交
361+
362+ 如果你不想删除最新的提交,而是创建一个新的提交来修复问题,可以进行如下操作:
363+
364+ - 在 master 分支上创建一个新的分支来进行修复:
365+
366+ ``` bash
367+ $ git checkout -b fix-branch master
368+ ```
369+
370+ - 在新分支上进行修改,修复代码中的问题。
371+ - 提交并推送修复:
372+
373+ ``` bash
374+ $ git add .
375+ $ git commit -m " Fixing the issue"
376+ $ git push origin fix-branch
377+ ```
378+
379+
380+
256381# 多个Git账户提交切换
257382
258383原文:[ 组织多个 Git 标识 |Garrit的笔记] ( https://garrit.xyz/posts/2023-10-13-organizing-multiple-git-identities )
0 commit comments