20+ Git 命令,软件工程师应该真正了解
Source: Dev.to
Git Commands Basics
git init
在当前目录创建一个新的 Git 仓库。
git init
git clone
将已有的远程仓库下载到本地机器。
git clone
git status
显示文件的当前状态(已修改、已暂存、未跟踪)。
git status
git add
暂存文件,使其包含在下次提交中。
git add .
git add file.js
git commit
将暂存的更改保存为带有信息的快照。
git commit -m "message"
git push
将本地提交上传到远程仓库。
git push origin main
git pull
获取远程更改并合并到你的分支。
git pull
git branch
列出分支或创建新分支。
git branch
git branch feature-x
git checkout
切换分支或恢复文件。
git checkout feature-x
git switch
一种更简洁、现代的切换分支方式。
git switch main
git merge
将另一个分支合并到当前分支。
git merge feature-x
git log
显示当前分支的提交历史。
git log --oneline --graph
git reset
移动 HEAD,并可选择丢弃提交或更改。
git reset --soft HEAD~1
git reset --hard HEAD~1
git revert
创建一个新提交,以安全地撤销旧的提交。
git revert
git checkout --
放弃对特定文件的本地更改。
git checkout -- index.js
git stash
临时保存未提交的更改。
git stash
git stash pop
git stash list
显示所有已保存的 stash。
git stash list
git remote -v
显示已配置的远程仓库。
git remote -v
git fetch
下载远程更改但不合并。
git fetch
git diff
显示文件、提交或暂存区之间的差异。
git diff
git diff --staged
git blame
显示文件中每行最后的修改者。
git blame file.js
git show
显示特定提交的详细信息。
git show
git clean
从工作目录中删除未跟踪的文件。
git clean -fd
git reflog
显示 HEAD 的每一次移动,即使是已删除或丢失的提交。
git reflog
Tips for Senior Engineers
- 经常检查
git status。 - 在共享分支上更倾向于使用
git revert而不是git reset。 - 在进行风险合并前使用
git fetch。 - 出现问题时依赖
git reflog。
Git 不仅仅是版本控制——它是你的安全网。你不必记住每个命令;只需了解足够的知识,以便在出现问题时能够恢复。掌握这些命令可以让你更快地工作,减少恐慌,并提升协作能力。不懂 Git 会让你成为一个更差的工程师。