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