git常用的命令
最近使用git进行团队开发遇到的一些分支的问题需要使用各种命令,整理一下方便日后使用
1.常用的Git命令
1.初始化仓库
git init //创建一个新的Git仓库
2. 克隆仓库
git clone <repository-url> //克隆远程仓库到本地。
3.查看当前的状态
git status //查看文件的当前状态(是否被修改、是否已暂存等)
git branch //查看本地的所有分支
git branch -a //查看本地和远程的所有分支
git branch -r //查看远程分支
4.添加文件到暂存区
git add <file-name> // 将文件添加到暂存区。
git add . //添加当前目录下的所有文件。
5.提交更改
git commit -m "commit message" //提交暂存区的更改到本地仓库,并附上提交信息软件开发规范:feat: 新功能(Feature)。表示添加了新的功能或特性到项目中。fix: 修复(Bug Fix)。表示修复了项目中的错误或问题。docs: 文档(Documentation)。仅更改了项目的文档,没有修改代码的逻辑或功能。style: 风格(Style)。代码风格或格式上的更改,这些更改不改变代码的逻辑或功能,但可能提高代码的可读性或一致性。refactor: 重构(Refactor)。对代码进行结构上的改进,以提高其可维护性、可读性或可扩展性,而不改变其外部行为。perf: 性能(Performance)。对代码进行的更改旨在提高程序的性能,比如减少内存使用、加快执行速度等。optimize: 优化(Optimize)。与性能提升相似,但更侧重于代码质量或资源使用的优化,可能包括算法改进、数据结构选择等。test: 测试(Test)。添加或修改测试代码,以确保软件的质量。这可能包括单元测试、集成测试等。build: 构建(Build)。更改了项目的构建系统或依赖项,比如更新构建工具的配置、添加新的构建步骤等。ci: 持续集成(Continuous Integration)。对项目的持续集成配置或脚本进行的更改,如修改CI/CD管道中的步骤、环境配置等。chore: 杂项(Chore)。通常指那些不直接影响代码、文档、测试、性能或构建系统的更改,如更新许可证信息、清理项目文件等。revert: 回滚(Revert)。将之前的提交撤销或恢复到某一状态,通常用于修复因错误提交导致的问题。
6.查看提交历史
git log //显示提交历史。
git log -n <number> //查看最近的 N 个提交
git log --since="2025-01-01" --until="2025-04-01" //这将显示自 2025 年 1 月 1 日至 2025 年 4 月 1 日之间的提交。
git log --oneline //以单行的方式查看每个提交,简化显示:
git log <file-path> //查看某个文件的提交历史
git log -p //查看每个提交之间的差异
7.查看和创建和切换分支
git branch //查看分支
git branch <new-branch-name> //创建新的分支
git checkout <branch-name> //切换分支
git checkout -b <branch-name> //创建并切换分支
git remote -v //显示远程仓库的信息。
git branch -vv //显示本地所有分支及其跟踪的远程分支的信息
8.合并分支
git merge <branch-name> //将指定分支的更改合并到当前分支。
9.拉取最新代码
git pull //从远程仓库获取并合并最新的代码
git pull origin master //拉取远程仓库的master最新代码
10.推送代码到远程分支
git push //将本地提交的代码推送到远程仓库
git push -f [远程仓库名] [本地分支名]:[远程分支名] //强制推送代码到远程仓库:如果需要强制推送代码到远程仓库
git push -f origin master //强制推送到远程的master分支
11.删除本地分支
git branch -d <branch-name> //删除本地的分支
git branch -D <branch-name> //强制删除本地分支
git reflog //可以恢复丢失的提交
12.重命名本地分支
git branch -m <old-branch-name> <new-branch-name> //重命名本地分支。
13.添加远程仓库
git remote add origin <repository-url> //添加远程仓库并指定名称(通常为origin)。
14.获取远程仓库的最新状态
git fetch //获取远程仓库的最新数据,但不自动合并。
15.重置文件到指定提交和撤销更改
git reset --hard <commit-id> //重置当前分支到指定的提交。
git checkout -- <file-name> //撤销对某个文件的所有修改,恢复到最近的提交状态
16.查看文件的差异
git diff //查看文件的修改差异
17.某个特定提交(commit)从一个分支应用到当前分支
git cherry-pick <commit-hash> //选择性地合并提交:当你只想从某个分支中获取特定的提交,而不想合并整个分支时,cherry-pick 非常有用。避免不必要的提交:如果你不希望引入目标分支的所有提交,但需要其中一部分,你可以使用 cherry-pick 来选择性地获取。
步骤:
1.切换到目标分支:首先确保你已经切换到你想要将提交应用到的分支。
git checkout
2.执行 cherry-pick 操作:然后使用 cherry-pick 命令将特定的提交引入当前分支
git cherry-pick
3.直接推送到与远程仓库某个分支
git push origin
18.多次提交的代码和git记录合并
git rebase -i HEAD~n //n是要压缩的提交数量例如:如果你希望将最近的5个提交压缩成一个提交,可以执行git rebase -i HEAD~5。
步骤:
1.使用命令:git rebase -i HEAD~n 输入提交的次数
2.我们需要关注的是最上面几行以pick开头的信息。需要把除了第一行外的pick改成s。
3.然后按esc键退出输入模式,输入:(英文冒号)进入底线命令模式)
4.再输入wq 即保存后退出
5.之后会展示如下界面,进行提交注释处理。我们把除了一个条之外的注释都删除掉,删除后的效果如下:
之后同样地保存退出即可
6.强制推送代码到远程仓库:如果需要强制推送代码到远程仓库,可以在推送命令中加入-f参数,使用以下命令:
git push -f [远程仓库名] [本地分支名]:[远程分支名]
git push -f origin master
有待后期的更新和优化