git commit
git commit -m "commit message"
-m
:后跟提交消息,用于描述这次提交所做的改动。-a
:自动将所有已跟踪且已经修改过的文件添加到暂存区并提交。-s
或 --signoff
:为本次提交添加签名行。git checkout
用法:
git checkout <branch-name>
git checkout -- <file>
(会丢弃未提交的本地更改)git checkout -b <new-branch>
功能:
git merge
git merge <branch>
git rebase
用法:
git rebase <base-branch>
:在不改变提交顺序的情况下,将当前分支基于指定的基础分支进行重排,将该分支的所有提交“接”在基础分支的最新提交之后。git rebase -i <base-branch>
:交互式地重新排序、合并或删除提交。功能:通过把一系列提交应用到另一个分支的顶部来实现代码线性化,通常用来保持分支整洁和合并时的历史更清晰。
git fetch
git fetch [remote]
git pull
git pull [remote] [branch]
或者默认 git pull
git fetch
和随后的 git merge
,它将远程分支的新提交下载到本地,并尝试与当前分支合并。git push
git push [remote] [branch]
或者默认 git push
-u
或 --set-upstream-to
设置关联。-f
或 --force
:强制推送,仅在确定情况下使用,因为它会覆盖远程分支上的任何未合并的提交。总结起来,这些命令是Git中最基本也是最常用的命令,它们构成了版本控制的核心操作流程,包括但不限于本地开发、分支管理、协作以及代码整合等。