git常用命令

一、创建于初始化

git init: 在当前目录初始化一个新的 Git 仓库。

git clone [url]: 克隆远程仓库到本地。

二、基本操作

git add . : 将文件添加到暂存区。

git commit -m "message": 提交暂存区的文件到本地仓库。

git status: 显示工作区和暂存区的状态。

git diff: 显示文件修改的差异。

三、分支与合并

git branch: 列出本地分支,创建或删除分支。

git checkout [branch]: 切换到指定分支。

git merge [branch]: 合并指定分支到当前分支。

git rebase [branch]: 将当前分支变基到指定分支。

四、远程操作

git remote -v: 显示远程仓库的详细信息。

git fetch [remote]: 从远程仓库拉取最新变更。

git pull [remote] [branch]: 拉取远程分支并合并到本地分支。

git push [remote] [branch]: 将本地分支推送到远程仓库。

五、撤销与重置

git reset [file]: 从暂存区撤销文件的更改。

git revert [commit]: 撤销指定提交的更改。

git checkout -- [file]: 恢复文件到最近一次提交的状态。

六、查看历史与日志

git log: 显示提交日志。

git show [commit]: 显示某次提交的详细内容。

七、标签与版本

git tag: 列出标签。

git tag [name]: 创建标签。

git tag -d [name]: 删除标签。

八、其他命令

git stash: 暂存当前工作区的修改。

git cherry-pick [commit]: 选择并应用某个提交的更改。

git clean: 从工作区中移除未跟踪的文件。

git grep [pattern]: 在代码库中搜索指定模式。

git bisect: 用于二分查找引入 bug 的提交。

git archive: 创建文件归档。

git submodule: 管理子模块。

git reflog: 查看引用日志,用于恢复误删除的提交或分支。

git remote add: 添加一个新的远程仓库。

git remote rm: 移除一个远程仓库。

git config: 配置 Git 的各种选项和变量。

git log: 查看提交日志。

git show: 查看提交的详细内容。

git diff: 查看文件更改前后的差异。

git status: 查看工作区和暂存区的状态。

git add: 将文件添加到暂存区。

git commit: 将暂存区的文件提交到本地仓库。

git reset: 撤销提交或将文件从暂存区移除。

git rm: 从版本库中删除文件。

git mv: 移动或重命名文件。

git branch: 列出、创建或删除分支。

git checkout: 切换分支或恢复文件。

git merge: 合并指定分支到当前分支。

git rebase: 变基操作,将提交应用于另一分支。

git stash: 暂存当前的工作进度。

git fetch: 从远程仓库获取代码更新。

git pull: 拉取远程分支并合并到本地分支。

git push: 将本地分支推送到远程仓库。

git remote: 管理远程仓库。

git tag: 创建、列出或删除标签。

git bisect: 用二分法查找引入 bug 的提交。

git blame: 显示每行代码是谁、在什么时间写入的。

git cherry-pick: 选择并应用某个提交的更改到当前分支。

git bisect: 用于二分查找引入 bug 的提交。

git grep: 在代码库中搜索指定模式。

git archive: 创建文件归档。

git submodule: 管理子模块。

git reflog: 查看引用日志,用于恢复误删除的提交或分支。

git stash apply: 应用之前暂存的工作进度。

git stash pop: 恢复并删除之前暂存的工作进度。

git stash drop: 删除之前暂存的工作进度。

git remote show: 显示某个远程仓库的详细信息。

git remote rename: 重命名某个远程仓库。

git remote prune: 清理不再存在的远程分支。

git clean -n: 显示将要删除的未跟踪文件,但并不删除它们。

git clean -f: 强制删除工作区中的未跟踪文件。

git clean -df: 删除未跟踪文件和目录。

git ls-files: 列出当前版本库中的文件。

git rev-parse: 显示提交对象的标识符。

git rebase -i: 执行交互式 rebase 操作,可以合并、修改、删除提交等。

git bisect start: 启动一个二分查找工具,用于定位引入 bug 的提交。

git bisect bad: 标记当前提交包含 bug。

git bisect good [commit]: 标记指定提交为没有 bug。

git bisect reset: 结束二分查找并重置 HEAD 到原来的状态。

git shortlog: 根据作者将提交整理成摘要。

git show-branch: 显示各个分支的提交情况。

git svn: 与 SVN (Subversion) 仓库进行交互。

git format-patch: 生成补丁文件。

git apply: 应用补丁文件。

git am: 应用补丁并创建提交。

git fsck: 检查 Git 仓库的完整性。

git gc: 清理不必要的文件和优化存储。

git instaweb: 启动图形化界面查看仓库。

git pull --rebase: 拉取远程分支并执行 rebase 操作。

git push --force: 强制推送更改到远程仓库。

git blame -L: 限制 blame 命令只显示某些行的信息。

git checkout -b [branch]: 创建并切换到新的分支。

git remote add: 添加一个远程仓库。

git remote rm: 移除一个远程仓库。

git remote update: 更新远程仓库引用。

git remote set-url: 修改远程仓库的 URL 地址。

git remote set-head: 设置远程仓库的 HEAD。

git svn rebase: 从 SVN 仓库重新获取数据并应用到当前分支。

git svn dcommit: 将本地提交推送到 SVN 仓库。

git svn fetch: 从 SVN 仓库获取数据,但不应用到当前分支。

git svn clone: 从 SVN 仓库克隆项目。

git svn init: 初始化 Git 仓库以与 SVN 仓库进行交互。

git svn log: 查看 SVN 仓库的提交日志。

git svn set-tree: 设置 SVN 仓库的树。

git svn reset: 重置 SVN 仓库。

git svn show-ignore: 显示 SVN 仓库的忽略列表。

git svn info: 显示 SVN 仓库的信息。

git worktree: 管理多个工作树。

git bisect visualize: 可视化二分查找的执行过程。

git reflog expire: 清理引用日志中过期的记录。

git reflog delete: 删除引用日志中指定的记录。

git add -p: 交互式地将部分更改添加到暂存区。

git commit --amend: 修改最后一次提交。

git rebase --onto: 在不同的分支间移动提交。

git rebase --abort: 中止 rebase 操作并恢复到 rebase 开始前的状态。

git rebase --continue: 继续执行 rebase 操作。

git merge --squash: 将所有合并的提交压缩成一个提交。

git stash -u: 包括未跟踪文件和已跟踪文件一起暂存。

git push --all: 推送所有分支到远程仓库。

git push --tags: 推送所有标签到远程仓库。

git fetch --prune: 获取远程仓库的最新变更并清理无效的远程分支。

git diff --submodule: 显示子模块的 diff 信息。

git notes: 添加、查看或编辑对象的注释。

git grep --cached: 在暂存区域搜索。

git ls-tree: 列出树对象的信息。

git rebase -X: 使用指定的策略选项执行 rebase 操作。

git shortlog -sn: 根据提交者的提交数量生成摘要列表。

git show-ref: 显示引用的信息。

git bundle: 打包所有的分支和标签成一个文件。

git config [--global]: 配置 Git 选项。

git rev-parse: 解析并显示引用的值。

git revert [commit]: 撤销指定提交的更改。

git cherry-pick [commit]: 将指定提交应用到当前分支。

git reflog: 查看引用日志,记录 HEAD 的变更历史。

git bisect visualize: 可视化二分查找历史。

git bisect replay: 重演二分查找历史。

git worktree add: 添加一个新工作树。

git switch: 切换分支和恢复工作目录更改。

git restore: 恢复工作目录文件的内容。

git sparse-checkout init: 初始化稀疏检出以限制仓库大小。

git lfs: 管理大型文件存储。

git submodule add: 添加子模块。

git submodule update: 更新子模块到最新版本。

git submodule sync: 更新子模块的 URL。

git submodule status: 显示子模块的状态。

git merge-base: 找到两个提交的共同祖先。

git merge-base --is-ancestor: 检查一个提交是否是另一个提交的祖先。

git bundle create: 创建一个包含指定分支和标签的新文件。

git bundle verify: 验证捆绑文件的完整性。

git bundle list-heads: 列出捆绑文件中的头信息。

git bundle unbundle: 从捆绑文件中提取提交历史记录。

git bundle prune: 删除不再需要的捆绑文件对象。

git worktree lock: 锁定工作树,以防止其他操作修改其中的文件。

git worktree unlock: 解锁先前锁定的工作树。

git worktree remove: 移除一个已经添加的工作树。

git worktree list: 列出当前仓库的所有工作树。

git worktree prune: 删除不再需要的工作树。

git clean: 清理工作目录中未跟踪的文件。

git blame: 显示每一行代码是谁最后修改的。

git show: 显示某个对象的详细信息。

git grep: 在当前源码中搜索指定模式。

git apply: 应用补丁到工作目录。

git format-patch: 生成邮件格式的补丁文件。

git send-email: 发送邮件包含补丁。

git gc: 清理不必要的文件和优化本地仓库。

九、文件标识

A: 增加的文件.

C: 文件的一个新拷贝.

D: 删除的一个文件.

M: 文件的内容或者mode被修改了.

R: 文件名被修改了。

T: 文件的类型被修改了。

U: 文件没有被合并

X: 未知状态

十、颜色标识

红色,未加入版本控制;

绿色,已经加入版本控制暂未提交;

蓝色,加入版本控制,已提交,有改动;

白色,加入版本控制,已提交,无改动;

灰色:版本控制已忽略文件。

相关推荐
大小科圣3 小时前
基于redis实现会话保持
数据库·redis·git
苦逼IT运维8 小时前
如何将外网 Git 仓库完整迁移到本地仓库并保留提交历史(附原理详解)
大数据·git
猿~~~11 小时前
Git 使用SSH登陆
git·ssh
兴趣使然_15 小时前
[科普] git和github等是什么关系 (由DS-R1生成)
git·github
飞翔中文网1 天前
一个成功的Git分支模型
git
水w1 天前
【pyCharm Git】根据dev分支新建dev_y分支,本地也新建dev_y分支,并将代码提交到Gitlab上的新分支dev_y上。
开发语言·git·python·pycharm·pull·push·branch
freshman_y1 天前
Git——分布式版本控制工具使用教程
git
2401_840192271 天前
git tag常用操作
git
清灵xmf2 天前
Git Worktree 实现 “一边修生产Bug,一边写新需求”
git·worktree