Git 命令使用(基础篇)2

简介: Git 命令使用(基础篇)2

9. 拉取(远程仓库的)分支 git pull

以上,我们完成了代码克隆、新建分支、切换分支、文件追踪(暂存)、提交更新记录、分支推送,现在可以说是完成了 60% 的任务了,剩下 40% 要做的事是更新远程仓库的主分支 master

分为四步:

第一步,从 update-init_project-cpc 分支切换至 master 分支 (注意都是本地仓库);

git checkout master


13.jpg


第二步,master 分支拉取远程仓库,确保本地的 master 分支与远程仓库中的 master 文件状态保持一致

git pull


14.jpg


注意:这里看似多了一步,实际上在真实开发过程中,远程仓库的 master 分支可能与我们最开始的不一样了,有更新,因此这一步是有必要的!


10. 合并分支 git merge <branch name>

第三步,将 update-init_project-cpc 分支上的代码合并进 master 分支。

注意,此时我们位于 master 分支,要合并谁,branch name(分支名) 就写谁,这里是 update-init_project-cpc。

git merge update-init_project-cpc

11. 查看未暂存的修改 git diff


15.jpg


一般情况下,可以正常合并。

但这里出现了一个错误,提示我们有一个文件(.gitignore)没有被提交。

原因是 vs code 发现 master 分支上的 .gitignore 文件可以做一些更好的修改,于是我遵循它的建议作了修改,但此时并未提交这些修改

还记得吗?可以通过 git status 来查看本地仓库的文件状态:

git status


16.jpg


如果 git status 命令的输出对于你来说过于简略,而你想知道具体修改了什么地方,可以用 git diff 命令。—— git-scm.com/book/zh/v2/…

git diff

git diff 命令可以看到文件修改的具体细节,而不仅仅是文件的名字。


17.jpg


接下来,文件添加追踪,放进暂存区,并提交更新。

git add .gitignore && git commit -m 'update .gitignore'


18.jpg


注意:上面的命令是连写方式,也可以像下面这样分开写:

git add .gitignore
git commit -m 'update .gitignore'
# 上面两条可合并为一条:
# git add .gitignore && git commit -m 'update .gitignore'

当然,还需要推送到远程仓库才行。

git push


19.jpg


最后,重新进行代码合并。

git merge update-init_project-cpc


20.jpg


又出错了!自动合并时,提示 .gitignore 文件存在冲突。


12. 解决分支冲突


21.jpg


如上图所示,在 vs code 中,如果出现分支冲突,那么在这个发生冲突的文件中,绿色代表当前分支 (此时是 master 分支) 的内容,蓝色表示外来分支 (此时是 update-init_project-cpc 分支) 的内容。

根据实际情况,这里应该选择外来分支的内容,点击绿色范围上方的第二个选项:Accept Incoming Change


22.jpg


这样,就解决了分支冲突。

注意:实际工作中,遇到的冲突可能远比这个复杂,有必要的情况下,请和团队成员确认合并结果,以免合并出错,造成代码丢失等问题。

接下来,重新添加文件放进暂存区、提交并推送。

git add .gitignore && git commit -m 'fix conflicts in .gitignore && git push'


23.jpg


好像推送成功了,但是又没有成功。

因为我把 && git push 命令写进了提交记录的字符串中,本来要写的是:

git add .gitignore && git commit -m 'fix conflicts in .gitignore' && git push

现在,已经提交了记录了,该怎么办?

重新修正提交信息即可。

13. 查看分支提交历史 git log

在修正提交信息之前,我们需要看一下提交历史,确认上一次的提交信息是否写错。

那么如何查看提交历史呢?

git log


24.jpg


我们可以看到最近一条提交记录的提交信息被误写成:fix conflicts in .gitignore && git push。

14. 修正上一次的提交 git commit —amend

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令来重新提交。——git-scm.com/book/zh/v2/…

git commit --amend

输入后,出现以下界面,第一行就是刚刚的提交信息:


25.jpg


此时,按下 i 键进入 insert 模式


26.jpg


移动光标,修改第一行的提交信息:


27.jpg

完成后,按下 Esc 键,退出 insert 模式,底部的”插入“字样消失。


28.jpg


此时,直接键入 Linux 命令 —— :wq ,保存编辑并退出。出现以下界面说明修改成功:


29.jpg


这时再次使用 git log 查看提交历史。


30.jpg


没有问题。

终于,正式来到最终章——将合并好的 master 分支推送至远程仓库(git push),并使用 git status 再次查看文件状态:本地仓库的分支已更新到远程仓库,也确实没有东西提交了,本地和远程仓库的内容保持一致。


31.jpg


至此,完成了初始化 Vue 脚手架的任务(相关分支:update-init_project-cpc)。

15. Summary

如果你边读边做,我相信你应该会掌握以下技能:


  1. 1.将一个远程仓库克隆到本地
  2. 2.在本地新建分支
  3. 3.切换(检出)分支
  4. 4.追踪文件,放进暂存区
  5. 5.提交更新
  6. 6.推送分支


除此之外,还包括分支合并、分支冲突的解决、提交信息的修改等内容。



目录
相关文章
|
27天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
4月前
|
存储 开发工具 git
|
19天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
27 3
|
4月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
75 0
|
1月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
52 1
[Git]入门及其常用命令
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
142 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
开发工具 git 开发者
|
1月前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
62 0
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
3月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7