git从入门到实践

1. Git 基础概念

什么是 Git?

  • Git 是一个分布式版本控制系统,用于跟踪文件的更改,协调多个开发者的工作。
  • 与传统版本控制系统(如 SVN)不同,Git 的每个开发者都有一个完整的代码库副本。

Git 的核心概念

  • Repository(仓库):存放代码和版本历史的地方。
  • Commit(提交):保存代码快照。
  • Branch(分支):独立开发的时间线。
  • Merge(合并):将不同分支的更改整合到一起。
  • Remote(远程仓库):托管在服务器上的 Git 仓库(如 GitHub、GitLab)。

2. 安装与配置

安装 Git

  • Windows: 从 Git 官方网站 下载并安装。
  • Linux: 使用包管理工具安装:
   sudo apt-get install git # Ubuntu/Debian
   sudo yum install git     # CentOS/Fedora

配置 Git

  1. 设置用户名和邮箱(记录在每次提交中):

    git config --global user.name "Your Name"
    git config --global user.email "your_email@example.com"
    
  2. 查看配置:

    git config --list
    

3. 创建与管理本地仓库

初始化一个 Git 仓库

mkdir myproject
cd myproject
git init

添加文件并提交

  1. 添加文件到暂存区:

    git add <filename>
    git add .  # 添加所有文件
    
  2. 提交文件到版本库:

    git commit -m "Initial commit"
    
    • -m 后引号的内容为提交内容的说明

查看状态与日志

  • 查看当前仓库状态:

    git status
    
  • 查看提交历史:

    git log
    git log --oneline # 查看简易版提交历史
    

4. 分支与合并

创建与切换分支

  1. 创建分支:

    git branch new-branch
    
  2. 切换分支:

    git checkout new-branch
    git switch new-branch # 推荐
    
  3. 创建并切换分支:

    git checkout -b new-branch
    

合并分支

  1. 切换到主分支:

    git checkout main
    
  2. 合并分支:

    git merge new-branch
    

删除分支

git branch -d new-branch # 已合并
git branch -D new-branch # 未合并

5. 远程仓库

关联远程仓库

  1. 克隆远程仓库:

    git clone <repository-url>
    
  2. 添加远程仓库:

    git remote add origin <repository-url>
    

推送与拉取

  1. 推送本地更改到远程仓库:

    git push -u origin main
    
  2. 从远程仓库拉取最新代码:

    git pull origin main
    

6. 冲突处理

  1. Git 冲突通常发生在合并分支时。Git 会在冲突文件中标记冲突部分:

    <<<<<<< HEAD
    Your changes
    =======
    Incoming changes
    >>>>>>> branch-name
    
  2. 手动编辑文件解决冲突,然后标记为已解决:

    git add <filename>
    git commit
    

7. 标签管理

创建标签

  1. 创建轻量标签:

    git tag v1.0
    
  2. 创建带注释的标签:

    git tag -a v1.0 -m "Version 1.0"
    

推送标签

git push origin v1.0

8. 实际项目中的 Git 工作流

常用工作流

  1. Git Flow
    • 使用 maindevelop 作为主分支,结合 featurereleasehotfix 分支。
  2. Forking Workflow
    • Fork 仓库,在自己的分支上开发,完成后提交 Pull Request。
  3. Feature Branch Workflow
    • 每个功能在独立分支上开发,完成后合并到主分支。

9. Git 高级功能

撤销与回滚

  1. 撤销暂存区的更改:

    git reset HEAD <filename>
    
  2. 撤销文件改动:

    git checkout -- <filename>
    
  3. 回滚到某个提交:

    git reset --hard <commit-hash>
    

查看与比较

  1. 查看差异:

    git diff
    
  2. 查看文件的历史改动:

    git log -- <filename>
    

10. 学习与实践资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值