- 如何创建和切换分支
- 如何合并分支
- 如何撤销更改
- 如何使用
.gitignore
文件 - 如何使用
stash
保存工作 - 如何解决冲突
- 如何使用
rebase
重构历史记录 - 如何区分
fetch
和pull
的用法 - 如何操作远程仓库
- 如何使用
Git
图形界面工具
Git 是一个强大的版本控制工具,但对于初学者来说,它可能会让人感到困惑。作为初学者,我犯了很多错误,但随着时间的推移,我意识到了一些关键的命令、概念和最佳实践,我希望自己能早点掌握。在这份指南中,我将逐步地向你介绍十个重要的 Git 要点,帮助任何初学者都能轻松理解并自信地使用它们。
简介版本控制系统如 Git 对开发人员来说是必不可少的。它们允许你追踪更改、有效合作并维护一个干净的代码库。然而,如果你不知道从哪里开始,Git 可能会比较难掌握。这十条建议将帮助你避开常见陷阱,提高工作效率,并为你提供从新手到熟练使用的清晰路线图。
此处省略内容
1. 如何撤销上一次提交而不丢失更改?我遇到的第一个问题是不小心过早地提交了修改。后来我学会了git reset
的好处。
例如:
想象你添加了一个文件 (example.txt
) 并提交了它,但后来发现提交信息有误。
git commit -m "错误的提交信息"
全屏显示 退出全屏
要撤销上一次提交但保留更改。
git reset --soft HEAD~1
# 回退到上一个提交但保留文件更改
切换到全屏模式 退出全屏模式
现在,你的文件已经回到了暂存区,你可以重新提交并附上正确的提交信息。
git commit -m "更正消息"
全屏模式 / 退出全屏
……
2.git reset
和 git revert
有什么区别?
初学者经常会搞混 git reset
和 git revert
。两者都可以撤销更改,但它们的工作方式不一样。
git reset
回溯并修改历史。git revert
创建一个新的提交来回滚更改,保留历史记录。
例子:使用 git revert
撤销提交操作
你已经做了些更改并提交了,但现在想要撤销这些更改,同时保留追踪记录。
git revert <哈希值>
全屏模式
Git 会创建一个新的提交来撤销指定提交的更改。
此处省略内容
3. 专业地搞定合并冲突的方法?对初学者来说,合并冲突可能有点吓人,但通过练习很容易搞定。
情况:
你和你们的队友编辑过同一个文件。在合并过程中,Git 会提示冲突。
git merge feature-branch
这行命令用于将feature-branch
分支合并到当前分支。
切换到全屏,退出全屏
Git 在文件中突出显示冲突:
<<<<<<< HEAD
你的改动
=======
队友的改动
>>>>>>> feature-branch
全屏 退出全屏
通过编辑文件并删除冲突标记来解决这个冲突,然后,
git add conflicted-file.txt
git commit -m "解决了 `conflicted-file.txt` 的合并冲突"
点击这里全屏,再点击退出全屏
提示:使用诸如 git mergetool
之类的可视化合并工具,以便更轻松地解决合并冲突。
……
为什么以及如何有效地使用代码分支?分支允许你在不影响主代码库的情况下开发功能特性或修复问题。
示例:创建和切换分支
新建分支:
运行命令 `git branch feature-branch` 来创建一个新的分支。例如:feature-branch 可以替换为实际的分支名称。
全屏 退出全屏
切换到它,试试看。
git checkout feature-branch
切换到功能分支,执行 git checkout feature-branch
命令。这里,“checkout” 可以翻译为 “检出”。
全屏,退出全屏
或者在一个命令里同时完成,
git checkout -b feature-branch
新建并切换到功能分支 "git checkout -b feature-branch" 用于创建并切换到名为 feature-branch 的新分支。
全屏 退出
完成工作以后,把它合并到主分支上:
git checkout main
git merge feature-branch
进入全屏模式,退出全屏模式
此处省略
5. 如何安全保存更改?有时候你需要切换分支的时候但不想提交当前的更改。这时,存档就派上用场了。
例如:
暂存更改:
git stash # 暂存更改 (zàn cún gǎi zhāng),意思是暂时保存当前更改。
点击全屏, 点击退出全屏
当你想再次应用这些更改时:
`
git stash pop
运行这个命令来弹出并应用上次暂存的内容。
点击这里进入全屏模式,或者点击这里退出全屏模式
暂存功能非常适合临时调整或是进行实验。
6. 如何安全地重写提交记录?
修改历史记录可以用来整理杂乱的代码提交记录。
示例:合并提交
比如说,你在你的分支上进行了三个提交。
查看 git 日志
进入全屏 退出全屏
输出:
commit 1a2b3c4
commit 5d6e7f8
commit 9g0h1i2
请点击进入全屏,请点击退出全屏
把它们合在一起。
git rebase -i HEAD~3
全屏 退出全屏
Git 打开一个交互式编辑器,在其中你可以将提交压缩。将 squash
选项应用于第二个和第三个提交,保存并关闭编辑器。这些提交会被压缩成一个。
7. 如何使用
git log
和 git diff
查看变更?
了解项目的来龙去脉非常重要。试试 git log
和 git diff
来调查项目的历史。
查看提交历史
要查看简洁的记录:
git --oneline (简洁模式)
全屏,退出全屏
详细日志:
git log --stat
全屏查看,退出全屏
比较更改示例
对比还未暂存的更改内容:
git diff (显示更改的差异)
全屏(点击切换)
比较暂存的更改:
git diff --cached
这将显示已缓存的文件的差异。
全屏查看 退出全屏
8. 如何使用标签进行版本控制?
标签常用来标记特定提交,特别是在版本发布时。
比如:创建标签
要给当前提交打标签:
使用git tag v1.0
命令给版本打上标签。
切换到全屏模式 退出全屏
把标签推送到远程仓库去
运行这个命令,git push origin v1.0
,这会将版本号v1.0推送到远程仓库origin。
全屏模式,退出全屏
用标签使你的项目中的重要点更易识别。
9. 如何克隆、拉取和推送代码?
例子:克隆一个仓库.
克隆一个仓库的方法是:
使用git命令克隆GitHub上的代码仓库:
git clone https://github.com/user/repo.git
进入全屏 / 退出全屏
示例:拉取更改代码
从远程仓库拉取并合并更改。
git pull origin main
在命令行中输入以上命令来更新你的代码。
全屏显示 退出全屏
示例:推动变更
提交了本地的更改后:
运行以下命令:git push origin feature-branch
# 将功能分支推送到远程仓库
进入全屏;退出全屏
10. 什么是 Gitignore 以及它又是怎么运作的呢?
.gitignore
文件列出了这些 Git 应该忽略的文件,避免意外提交不需要的文件。
这里可以填入内容
创建一个 .gitignore
文件,并在里面添加要忽略的文件规则,比如
# 略过 node_modules 目录,
node_modules/
# 略过环境变量文件,
.env
切换到全屏模式, 恢复到正常模式
添加并提交上传名为 .gitignore
的文件(忽略文件):
git add .gitignore
git commit -m "将 .gitignore 添加进来"
切换到全屏 切换出全屏
常见问题 FAQ
为什么 Git 对初学者很重要?
它帮助跟踪代码变更,实现高效协作,并管理项目版本更新。
我能撤回更改而不影响远程仓库吗?
确实,像 git reset
和 git stash
这, 命令可以帮助安全地处理本地代码更改。
怎样练习Git命令比较好?
建立一个本地仓库,并用真实场景来实验。像 GitHub 这样的工具也提供了互动学习的机会。
掌握 Git 需要通过实践来理解和掌握核心概念。通过应用这十个技巧,你将能够从感到不知所措到自信地处理各种 Git 工作流。深入实践,多尝试,不要害怕犯错——错误是学习过程中不可或缺的一部分。
共同學習,寫下你的評論
評論加載中...
作者其他優質文章