我每天使用的 11 个 Git 命令
刚开始工作的时候,我总是担心丢失代码修改。有时,我会把代码复制到文本文件中,以确保不会遗漏任何内容。
这不是一个好的做法。如果你知道如何正确使用 git,你就不会有这些疑虑。
Git 拥有保障您安全所需的一切,甚至更多。
让我们开始吧。
1. 签出新分支
显然,我必须为开始的每项任务使用一个新分支:
git checkout -b <new_branch_name>
此命令创建一个新分支并自动将其设置为活动分支。
2. 选择要提交的文件
这是我少数喜欢 GUI 的情况之一。在 VS Code(或任何其他更好的 IDE/文本编辑器)中,你可以轻松查看更新的文件,并选择要包含在提交中的文件。
但如果您想使用 CLI 来执行此操作:
git add .
此命令将暂存所有更改的文件。
如果您想选择单个文件:
git add <path/to/file>
3. 提交
暂存一些文件后,您需要提交它们:
git commit -m "Some changes"
如果您打开了一些不允许您进行提交的预提交规则(例如 linting),您可以通过传递 --no-verify 标志来覆盖它们:
git commit -m "Some changes" --no-verify
4. 恢复所有更改
有时我会尝试修改代码。过了一会儿,我意识到这不是正确的路径,我需要撤消所有更改。
一个简单的命令是:
git reset --hard
5. 查看最新提交
我可以通过输入以下命令轻松查看我的分支上发生的情况:
git log
我可以看到提交的哈希、消息、作者和日期。
6. 从远程分支拉取更改
当我检出一个已经存在的分支(通常是主分支或开发分支)时,我需要获取并合并最新的更改。
有一个简写形式:
git pull
有时,如果您位于新创建的分支之一,则还需要指定原始分支:
git pull origin/<branch_name>
7. 撤消本地未推送的提交
我提交了。糟糕!这里出了点问题。我得再做一点修改。
不用担心:
git reset --soft HEAD~1
此命令将恢复您的上次提交并保留您所做的更改。
HEAD~1
意味着你的头脑指向比当前提交更早的一次提交 - 这正是你想要的。
8. 撤销已推送的提交
我做了一些修改并推送到远程。然后,我意识到这不是我想要的。
为此,我使用:
git revert <commit_hash>
请注意,这将在您的提交历史记录中显示。
9. 存储我的更改
我正在开发该功能,我的队友要求我进行紧急代码审查。
我显然不想丢弃我的更改,也不想提交它们。我不想创建一堆毫无意义的提交。
我只想检查他的分支并返回我的工作。
要做到这一点:
// stash your changes
git stash
// check out and review your teammate's branch
git checkout <your_teammates_branch>
... code reviewing
// check out your branch in progress
git checkout <your_branch>
// return the stashed changes
git stash pop
pop
听起来很熟悉?没错,它的工作原理就像堆栈一样。
意思是,如果你连续两次执行 git stash 而中间没有执行 git stash pop,它们就会相互堆叠。
10. 将分支重置为远程版本
我把一些事情搞砸了。一些提交出错了,一些 npm 安装也出错了。
无论我做什么,我的分支机构都不再运作良好。
远程版本运行良好。让我们也实现它吧!
git fetch origin
git reset --hard origin/<branch_name>
11. 从其他分支挑选提交
有时,我想应用其他分支的提交。为此,我使用:
git cherry-pick <commit_hash>
如果我想选择一个范围:
git cherry-pick <oldest_commit_hash>^..<newest_commit_hash>
结论
说实话,我并不是每天都使用所有这些命令 - 但我确实经常使用它们。
我更喜欢 CLI,因为我们永远无法用 GUI 涵盖所有选项。
另外,你会发现大多数教程都只使用 CLI。如果你不熟悉 CLI,理解起来会很困难。
我在这里介绍了基础知识,但无论您需要做什么,只需谷歌一下即可。
我确信你会很容易找到答案。
文章来源:https://dev.to/domagojvidovic/11-git-commands-i-use-every-day-43eo