网站首页 > 技术文章 正文
作为一位程序员,精通 Git 命令和使用技巧是非常重要的。以下是一些常用的 Git 命令和技巧汇总,帮助你更高效地管理代码版本控制。
基本命令
初始化仓库
git init
克隆仓库
git clone <repository-url>
查看仓库状态
git status
添加文件到暂存区
git add <file-or-directory>
# 添加所有文件
git add .
提交更改
git commit -m "Commit message"
查看提交历史
git log
查看简洁的提交历史
git log --oneline
分支管理
创建分支
git branch <branch-name>
切换分支
git checkout <branch-name>
创建并切换到新分支
git checkout -b <branch-name>
合并分支
git checkout <target-branch>
git merge <source-branch>
删除分支
git branch -d <branch-name>
远程仓库
查看远程仓库
git remote -v
添加远程仓库
git remote add <name> <url>
获取远程仓库更新
git fetch <remote>
拉取远程仓库更新并合并
git pull <remote> <branch>
推送本地更改到远程仓库
git push <remote> <branch>
标签管理
创建标签
git tag <tag-name>
查看标签
git tag
推送标签到远程仓库
git push <remote> <tag-name>
删除本地标签
git tag -d <tag-name>
删除远程标签
git push <remote> :refs/tags/<tag-name>
高级技巧
查看分支图
git log --graph --oneline --all
暂存当前更改
git stash
恢复暂存的更改
git stash pop
修改最后一次提交
git commit --amend
重置到特定提交
git reset --hard <commit-hash>
清理未跟踪的文件
git clean -f
交互式 rebase
git rebase -i <base-commit>
合作开发技巧
- 创建 Pull Request
- 推送分支到远程仓库git push origin <branch-name>
- 在 GitHub 上创建 Pull Request:导航到你的仓库,点击 Pull Requests,然后点击 New Pull Request。
解决冲突
- 拉取最新代码git pull origin <branch-name>
- 解决冲突:手动编辑冲突文件。
- 标记冲突文件为已解决git add <file>
- 提交解决冲突后的更改git commit
Git 配置
全局配置用户信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
查看配置
git config --list
Git 别名
创建常用命令的别名可以提高效率:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
其他有用的命令
查看某个文件的历史
git log -- <file>
查看某个文件在某次提交中的内容
git show <commit-hash>:<file>
比较两个分支的差异
git diff <branch1>..<branch2>
比较工作目录与暂存区的差异
git diff
比较暂存区与最新提交的差异
git diff --cached
通过掌握这些 Git 命令和技巧,你可以更高效地进行版本控制和团队协作。记住,实践是掌握这些技巧的关键,多多使用这些命令会让你在日常开发中更加得心应手。
猜你喜欢
- 2024-11-07 Git基本操作流程(git 基本操作)
- 2024-11-07 Git 应该用 fetch 还是 pull(git push和fetch)
- 2024-11-07 git 常用命令(git常用命令详解)
- 2024-11-07 git基本用法(git常用)
- 2024-11-07 Git fetch和git pull的区别(git fetch git pull)
- 2024-11-07 【干货】常用的Git命令有哪些?(git常用操作命令 简书)
- 2024-11-07 git常用命令(git常用命令提交)
- 2024-11-07 git 提交代码的简单指令(git提交代码步骤图解merge)
- 2024-11-07 工作流一目了然,看小姐姐用动图展示10大Git命令
- 2024-11-07 说说Git常用的命令有哪些?(git 常用)
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 505℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 484℃MySQL service启动脚本浅析(r12笔记第59天)
- 465℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 462℃启用MySQL查询缓存(mysql8.0查询缓存)
- 442℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 422℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 418℃MySQL server PID file could not be found!失败
- 最近发表
-
- netty系列之:搭建HTTP上传文件服务器
- 让deepseek教我将deepseek接入word
- 前端大文件分片上传断点续传(前端大文件分片上传断点续传怎么操作)
- POST 为什么会发送两次请求?(post+为什么会发送两次请求?怎么回答)
- Jmeter之HTTP请求与响应(jmeter运行http请求没反应)
- WAF-Bypass之SQL注入绕过思路总结
- 用户疯狂点击上传按钮,如何确保只有一个上传任务在执行?
- 二 计算机网络 前端学习 物理层 链路层 网络层 传输层 应用层 HTTP
- HTTP请求的完全过程(http请求的基本过程)
- dart系列之:浏览器中的舞者,用dart发送HTTP请求
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)