当前位置: 首页 > news >正文

Git 常用命令 - 服务器用

我又回来啦,之前写了个人用的 git 命令,现在大多用服务器,和其他人共同使用,需要用到更多命令

如果要新建一个仓库,记得先 git init,不要直接 git add remote origin,不然会把别人的代码提交到自己的仓库

另外记得配置用户,并且尽量不要使用 --global,不然别人会提交你的代码

目录

配置全局用户信息

为单个仓库配置用户信息

检查当前配置

远程仓库交互

分支协作管理

冲突解决与历史修改

团队协作流程示例

标签与版本管理

临时存储变更


配置全局用户信息

使用以下命令设置全局用户名和邮箱,这些信息会应用于所有 Git 仓库:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --global --unset user.email # 后悔药
git config --global --unset user.name

为单个仓库配置用户信息

如果需要为特定仓库设置不同的用户信息,进入该仓库目录后运行:

git config user.name "Your Name"
git config user.email "your.email@example.com"

检查当前配置

验证已配置的用户信息:

git config --list

或单独查看用户名和邮箱:

git config user.name
git config user.email

远程仓库交互

git clone <repository_url>  # 克隆远程仓库到本地
git remote -v  # 查看关联的远程仓库
git remote add <name> <url>  # 添加新的远程仓库
git fetch <remote>  # 获取远程分支更新但不合并
git pull <remote> <branch>  # 拉取并合并远程分支(=fetch+merge)
git push <remote> <branch>  # 推送本地提交到远程
git push --set-upstream <remote> <branch>  # 首次推送时建立追踪关系

分支协作管理

git branch -a  # 查看所有分支(本地+远程)
git checkout -b <new_branch>  # 创建并切换到新分支
git merge <branch>  # 合并指定分支到当前分支
git rebase <base_branch>  # 变基当前分支到目标分支
git branch -d <branch>  # 删除本地分支
git push origin --delete <branch>  # 删除远程分支

冲突解决与历史修改

git diff  # 查看工作区变更
git status  # 检查冲突文件状态
git log --graph --oneline  # 图形化查看提交历史
git reset <commit> --soft  # 回退到指定提交(保留更改)
git commit --amend  # 修改最后一次提交
git revert <commit>  # 创建新的提交来撤销指定提交

团队协作流程示例

多人协作时推荐使用功能分支工作流:

git checkout main
git pull origin main  # 确保本地main分支最新
git checkout -b feature/login  # 创建功能分支
# 进行多次提交后...
git push origin feature/login  # 推送分支到远程
# 在Git平台创建Pull Request请求合并

标签与版本管理

git tag v1.0.0  # 创建轻量标签
git tag -a v1.0.0 -m "Release version"  # 创建附注标签
git push origin --tags  # 推送所有标签到远程
git checkout v1.0.0  # 切换到特定标签版本

临时存储变更

git stash  # 暂存当前工作目录修改
git stash list  # 查看暂存列表
git stash pop  # 恢复最近暂存的修改
git stash apply stash@{1}  # 恢复指定暂存

相关文章:

  • PostgreSQL的扩展 passwordcheck
  • 【开源工具】超全Emoji工具箱开发实战:Python+PyQt5打造跨平台表情管理神器
  • SOC-ESP32S3部分:27-设备OTA
  • Ethernet/IP转DeviceNet网关:驱动大型矿山自动化升级的核心纽带
  • 【C++高级主题】多重继承下的类作用域
  • LeetCode第245题_最短单词距离III
  • 超临界二氧化碳再热再压缩布雷顿循环建模与先进控制
  • 704. 二分查找 (力扣)
  • 力扣HOT100之多维动态规划:1143. 最长公共子序列
  • 批量大数据并发处理中的内存安全与高效调度设计(以Qt为例)
  • 总览四级考试
  • Mac电脑_钥匙串操作选项变灰的情况下如何删除?
  • KEYSIGHT是德科技 E5063A 18G ENA系列网络分析仪
  • 电工基础【5】简单的电路设计接线实操
  • Python趣学篇:Pygame重现经典打砖块游戏
  • 微软Build 2025:Copilot Studio升级,解锁多智能体协作未来
  • Kotlin List 操作全面指南
  • 实现购物车微信小程序
  • Blocked aria-hidden on an element because its descendant retained focus.
  • 【Node.js 深度解析】npm install 遭遇:npm ERR! code CERT_HAS_EXPIRED 错误的终极解决方案
  • 网站 开发 外包/南城网站优化公司
  • 厚街镇仿做网站/长沙优化网站推广
  • 视频网站制作/搜索引擎营销的6种方式
  • 制作静态网站/app香港账号
  • 网站建设与开发的收获与体会/关键词指数查询
  • php开发/福建seo网站