git add
git add
:将文件的更改添加到暂存区(Staging Area),表示你希望将这些更改包含在下一次提交中。可以使用 git add <file>
来添加特定文件,也可以使用 git add .
来添加所有更改过的文件。
1 | git add 要提交的文件 |
git commit
git commit
:将暂存区中的所有更改提交到版本库(Repository),创建一个新的提交记录。提交记录包含了所做的更改的描述信息,这样可以为这次更改创建一个历史记录。提交时可以使用 -m
参数来添加提交信息,例如:git commit -m "Add new feature"
。
1 | git commit -m "更改的描述信息" |
git log
git log
命令用于显示提交日志信息,它会列出当前分支的提交历史记录
我常用下面命令来只显示三条记录:
1 | git log -3 |
可以使用git log --oneline
来以简洁的单行格式显示提交记录
1 | git log --oneline |
git pull
git pull
命令用于从远程存储库(通常是在GitHub或类似服务上)获取并整合(合并)最新的更改到你的本地存储库中。当在本地仓库中执行git pull
时,它会自动执行git fetch
来获取远程存储库中的最新更改,然后尝试将这些更改合并到你的当前分支中。
1 | git pull |
如果本地有未提交的更改,git pull
可能会导致冲突。在这种情况下,需要解决冲突并手动完成合并。
git submodule
子仓注册:
1 | git submodule init |
子仓更新:
1 | git submodule update |
git fetch
git fetch
:这个命令会将远程仓库的最新更新下载到本地仓库,但不会自动合并或修改你的工作目录。它会将远程分支的更新保存到本地,可以随后使用 git merge
或 git rebase
将这些更新合并到你的本地分支。
1 | git fetch |
git fetch --all
:这个命令会获取所有远程仓库的最新更新,包括所有远程分支的更新。这样做可以确保本地仓库包含了所有远程仓库的最新状态。
1 | git fetch --all |
有时我会用以下命令来解决疑难杂症:
1 | git fetch --all |
git remote
Fork的私仓同步官方仓:
1 | git remote add upstream 目标地址 |
注:1. 比如目标地址为 https://gitee.com/openharmony/arkui_ace_engine.git
2. upstream为名字,可以更改
1 | git remote -v |
git reset
1 | git reset --hard [commit号] // 回退到commit号对应的版本 |
1 | git reset [commit号] // 带着当前修改回退到commit号对应的版本 |
git rebase
1 | git rebase <要合并的分支> |
举例:
构造两个分支master和feature,其中feature是在提交点B处从master上拉出的分支
master上有一个新提交M,feature上有两个新提交C和D
如图: