Git教程-廖雪峰-个人归纳更新总结

安装Git:

  1. Linux、MacOS、Windows通用安装教程
  2. Git是分布式版本控制系统,每个机器都必须自报家门——你的名字和Email(以下配置3选1):
    • 全局配置(当前用户的所有仓库):
      git config --global user.name "Your Name(替换成自己的)"
      git config --global user.email "email@example.com(替换成自己的)"
      
    • 系统级配置(系统上所有用户的所有仓库):
      sudo git config --system user.name "System Name(替换成自己的)"
      sudo git config --system user.email "system@example.com(替换成自己的)"
      
    • 本地仓库配置(仅当前仓库):
      git config user.name "Local Name(替换成自己的)"
      git config user.email "local@example.com(替换成自己的)"
      

仓库创建

本地

使用git init将该目录变成git可管理的仓库。

git init

远程仓库clone

  • 前置条件:
    1. GitHub账号
    2. 设置本地Git仓库和GitHub仓库之间SSH加密传输
      • 创建SSH Key:
        ssh-keygen -t rsa -C "youremail"
        
      • 登陆GitHub --> Settings --> SSH Keys页面,点击New SSH Keys,然后在Key文本框里粘贴/Users/XXX/.ssh/id_rsa.pub文件的内容,从而在GitHub设置中添加自己机器的身份。

        Git支持SSH协议,所以GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

Fork就在自己的账号下克隆了一个开源仓库,然后从自己的账号下clone:

git clone git@github.com:michaelliao/bootstrap.git

一定要从自己的账号下clone仓库,这样你才能推送修改。

对文件进行操作后,可以把本地库的所有内容推送到远程库上:

git push origin main/master

git常用命令

把一个文件放到Git仓库只需两步。

git add

把文件从workspace添加到暂存区(index/stage):

git add file

...

git commit

把文件从暂存区提交到仓库:

git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 XXX

在这里插入图片描述

git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的。
为什么Git添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。
丢弃git add 到stage的内容:git reset:这将暂存区重置为与上一次提交相同的状态,但保留工作目录中的更改。

git status

时刻掌握仓库当前的状态

git log

命令显示从最近到最远的提交日志版本,加上--pretty=oneline可以简化输出信息。

版本回退

HEAD表示当前版本,前第K个版本,就是HEAD~K

  1. 首先使用git log确定回退到哪个版本,假设回到第前K个版本,其对应的commit id的前几位是1094adb...
  2. 使用命令指定回到过去/未来的某个版本:
    $ git reset --hard HEAD~K(or 1094ad)
    

git restore

撤销修改对应几种情况:

  1. 只在工作区作了修改尚未git add时使用:
    git restore <file>
    
  2. 只有git add尚未git commit时使用:
    git restore --staged <file>
    
    回到情况1,然后使用git restore <file>处理。
  3. 执行了git commit尚未git push
    使用版本回退
    $ git reset --hard HEAD~K(or 1094ad)
    

解除本地和远程的绑定关系

  1. 建议使用git remote -v查看一下远程库的信息
    bash git remote -v origin git@github.com:username/XXX.git (fetch) origin git@github.com:username/XXX.git (push)
  2. 解除本地和远程的绑定关系,并不是物理上删除了远程库。
    bash git remote rm origin

(pull requests使用)2024-7-8

场景:在本地处理 feature 分支和 Fix-Bug 修复分支,并将修复后的代码合并回主分支。 在这里插入图片描述流程:

  1. 创建 feature 分支:
    开始一个新特性时,先从主分支创建一个 feature 分支,并将手头的代码提交到 feature 分支。
    git checkout -b feature
    git add .
    git commit -m 'feature branch commit'
    
  2. 创建 Bug 修复分支:
    切换回主分支,创建一个用于修复 bug 的分支。
    git checkout master
    git pull origin master  # 确保主分支是最新的
    git checkout -b Fix-Bug
    
  3. Bug 修复完成后,提交代码:
    在 bug 修复分支上完成修复,并提交更改。
    git add .
    git commit -m 'fixed bug'
    
  4. 将修复了 Bug 的代码推送到远程仓库:
    git push origin Fix-Bug
    
  5. 提交 Pull Request:
    在代码托管平台(如 GitHub、GitLab 或 Gitee)上创建一个 Pull Request,将 Fix-Bug 分支合并到 master 分支。
    进行代码审查,修正任何发现的问题。
    • 确保你已经在本地克隆了 GitHub 仓库,并进行了必要的更改。
    • 在你本地的仓库中创建一个新的分支,并在该分支上进行更改。
    • 在仓库页面中,你会看到一个提示,询问是否要对你刚推送的分支创建 Pull Request。点击 “Compare & pull request” 按钮。如果没有看到提示,你可以点击 “Pull requests” 标签,然后点击 “New pull request” 按钮。在 “Compare changes” 页面,选择你推送的分支(Fix-Bug)和要合并的目标分支(通常是 mainmaster)。
    • 填写 Pull Request 的标题和描述:在 “Open a pull request” 页面,填写 Pull Request 的标题和描述。描述应该清晰明了地说明你所做的更改和其目的。 你还可以分配审查者、添加标签、里程碑等。
    • 创建 Pull Request:填写完所有信息后,点击 “Create pull request” 按钮。
  6. 代码审查和合并
    • 代码审查:维护者审查你的PR后进行反馈,你进行必要的修改,然后推送到同一个分支,GitHub 会自动更新 Pull Request。
    • 合并 Pull Request:一旦所有审查者都批准了更改,或者你作为维护者决定合并 Pull Request,你可以点击 “Merge pull request” 按钮。最后点击 “Confirm merge” 进行确认。
  7. 删除本地和远程的 Fix-Bug 分支
    # 切换回 master 分支并拉取最新更改
    git checkout master
    git pull origin master
    
    # 删除本地的 Fix-Bug 分支
    git branch -d Fix-Bug
    
    # 删除远程的 Fix-Bug 分支
    git push origin --delete Fix-Bug
    

参考:

  1. git分支
  2. 廖雪峰的Git教程

其他方面用到再更…

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ocodotial

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值