常用的git命令集合
git config -l
查看git配置
git log --oneline
查看提交记录(一行显示)git push -f orgin master
强制覆盖远程分支
git branch
查看本地分支git branch --remote
查看远端分支git checkout -b <branch_name>
新建并切换到新分支
git diff
查看被修改的文件git add <file_path>
把文件提交至预备提交区域git add --all
当前项目下的所有更改git add .
当前目录下的所有更改git commit -m "commit"
提交文件,增加描述git commit -am "commit_msg"
自动将被修改、删除的文件(不包括未加入索引的文件)加入暂存区,并提交git reset HEAD <file_path>
取消文件的暂存状态(预备提交区)
git diff
列出所有的修改git diff --cached
显示暂存区和本地仓库的差异git diff <file1> <file2>
列出某些文件的修改git clean -f
untracked状态,撤销新增的文件git clean -df
untracked状态,撤销新增的文件和文件夹git reset
暂存区的修改恢复到工作区 (已暂存,但是未提交)git reset --soft
回到未修改状态,修改的内容仍然在工作区中 (已暂存,但是未提交)git reset --hard
回到未修改状态,清空暂存区和工作区 (已暂存,但是未提交)git reset --soft HEAD^
取消上一次提交,保留提交后的修改 (已提交,未推送)git reset --hard origin/master
回退与本地远程仓库一致 (已提交,未推送)git reset --hard HEAD^
回退到本地仓库上一个版本 (已提交,未推送)
变基操作。orgin和branch1两个分支各自有多次提交,如果想把branch1上的内容提交到origin上,除了merge操作,我们还可以使用
git rebase
。它会将branch1上的commit操作暂时取消,暂存至.git/rebase
目录下,并且将origin分支的内容更新到branch1。如果产生了冲突,则解决冲突后执行git rebase --continue
。最后我们只需要把branch1分支上的内容,merge到origin上即可。 rebase操作可以让分支树更加线性。
git rebase -i [startpoint] [endpoint]
选出编辑区间,让操作者编辑完成合并操作git rebase <branch_name>
将<branch_name>上的commit变基到当前分支。过程中可能会产生冲突。git rebase --continue
rebase修复冲突后,继续执行变基操作。
git rebase -i HEAD~n
`git rebase -i HEAD~n` 命令的作用是交互式地重新应用提交,其中`n`是一个数字,表示要重新应用的提交的数量。这个命令允许你在重新应用提交的过程中对提交进行编辑、合并、删除等操作。这对于整理提交历史、合并多个提交以及重排提交顺序非常有用。
执行上述命令后,会打开一个交互式界面,其中列出了最近n个提交的信息。
比如:
pick commit1
pick commit2
...
如果想要删除某次提交记录,直接将pick cmomitx 一行删除,保存即可。
随后执行 `git push -f origin master `,这次变基删除的操作将更新到远端仓库。
注意-f 是强制更改。可以视情况修改参数。