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

基础学习之——git 的使用方式

git 是一种分布式版本控制系统(Distributed Version Control System, DVCS),用于有效地管理代码和文件的变更历史。它最初由林纳斯·托瓦兹(Linus Torvalds)于2005年为管理Linux内核开发而设计,并很快因其效率和灵活性而流行开来,成为许多软件开发团队的首选版本控制工具。

git 的主要特点包括:

  • 分布式:Git 是分布式的,这意味着每个开发者都可以在自己的本地机器上克隆整个项目的历史记录。每个克隆(或仓库)都像是一个完整的备份,可以用来开发或与其他开发者共享。
  • 快速:Git 相对于其他版本控制系统(如 Subversion)来说,速度非常快。这得益于其高效的数据结构和设计。
  • 灵活性:Git 提供了强大的分支和合并功能,使得开发者可以并行工作在不同的特性或修复上,而不会相互干扰。
  • 安全性:Git 使用了SHA-1哈希算法来确保数据的完整性和安全性。每次提交都会生成一个唯一的哈希值,这个值基于文件的内容和提交信息。
  • 易于学习:虽然 Git 的功能非常强大,但其基本的命令集相对直观,容易上手。

git 的基本使用流程:

  • 安装 Git:首先,你需要在你的计算机上安装 Git。这可以通过访问 Git 官网(https://git-scm.com/)并下载适合你的操作系统的安装包来完成。
  • 配置 Git:安装完成后,你需要配置一些基本的用户信息,如你的姓名和电子邮件地址。这可以通过 git config 命令来完成。
  • 初始化仓库:使用 git init 命令在你的项目目录中初始化一个新的 Git 仓库。这会创建一个 .git 目录,Git 将使用它来存储所有的版本控制信息。
  • 添加文件到仓库:使用 git add 命令将你的文件添加到暂存区(staging area)。暂存区是提交之前的一个准备区域。
  • 提交更改:使用 git commit 命令将暂存区的更改提交到仓库中。你需要为你的提交提供一个描述性的消息。
  • 查看更改历史:使用 git log 命令查看你的提交历史。
  • 分支和合并:Git 支持分支操作,你可以使用 git branch 命令来创建、列出和删除分支。使用 git checkout(Git 2.23 版本后推荐使用 git switch)和 git merge 命令来切换分支和合并分支。
  • 远程仓库:你可以使用 git remote 命令来管理远程仓库。使用 git clone 命令克隆远程仓库到你的本地机器,使用 git push 和 git pull 命令来推送和拉取更改。

举例

  1. 分支管理
  • git branch
    创建新分支:git branch
    查看所有分支(包括本地和远程,使用 -a 参数):git branch -a
    删除分支(本地):git branch -D (注意:大写 -D 会强制删除分支,即使分支未合并)
    切换分支:git checkout (Git 2.23 版本后推荐使用 git switch )
  • git checkout
    切换分支(如上文所述)
    创建并切换新分支:git checkout -b (相当于 git branch 后跟 git checkout )
    恢复工作区文件:git checkout – (注意:这里使用 – 是为了避免与分支名冲突)
  1. 远程仓库操作
  • git remote
    添加远程仓库:git remote add
    查看远程仓库信息:git remote -v(显示远程仓库的 URL)
    删除远程仓库:git remote remove (Git 2.0 以前的版本使用 git remote rm)
    修改远程仓库 URL:git remote set-url
  • git fetch
    从远程仓库拉取最新变更(但不合并到当前分支):git fetch
  • git pull
    从远程仓库拉取最新变更并合并到当前分支:git pull (如果远程分支与本地分支同名且已设置追踪,可省略 )
  • git push
    将本地分支的变更推送到远程仓库:git push
    强制推送(慎用):git push -f 或 git push --force
  1. 提交历史操作
  • git reset
    撤销提交并将文件更改放回到暂存区(软重置):git reset --soft
    撤销提交并将文件更改放回到工作目录(混合重置):git reset --mixed 或 git reset (默认选项)
    撤销提交并丢弃所有更改(硬重置):git reset --hard
  • git revert
    创建一个新的提交来撤销指定提交的更改:git revert
  • git cherry-pick
    选择并应用某个提交的更改到当前分支:git cherry-pick
  1. 其他常用命令
  • git stash
    暂存当前工作区的修改,以便稍后恢复:git stash
    查看所有暂存的修改:git stash list
    恢复暂存的修改并删除记录:git stash pop
    删除暂存的修改(不恢复):git stash drop
  • git clean
    删除未跟踪的文件(慎用):git clean -f(强制删除)
    显示将要删除的文件但不实际删除:git clean -n
  • git grep
    在仓库中搜索文本:git grep
  • git reflog
    查看引用日志,用于恢复误删除的提交或分支:git reflog
  • git config
    查看或配置 Git 的设置:git config --list(查看所有配置),git config --global user.name “”(设置全局用户名)等

http://www.kler.cn/a/293548.html

相关文章:

  • ubuntu连接orangepi-zero-2w桌面的几种方法
  • 微服务day07
  • 深入理解BERT模型配置:BertConfig类详解
  • 去地面算法——depth_clustering算法调试(1)
  • 使用支付宝沙箱完成商品下单
  • 区块链技术在电子政务中的应用
  • CTFHub技能树-Git泄漏-Stash
  • 前后端时间传递之注解
  • K8s中pod控制器
  • 影响画布微信小程序canvas及skyline和webview用户界面布局的关键流程
  • 如何利用ChatGPT提升学术论文讨论部分的撰写质量和效率
  • 图像仿射变换及其逆变换【Python实现】
  • 如何恢复格式化的 Android 智能手机
  • 使用NetBackup GUI 图形化进行oracle备份和恢复
  • 日志轮转方案和脚本
  • EvoSuite使用总结
  • Java+Swing+sqlserver学生成绩管理系统
  • springboot中上传图片到阿里云的oss云存储
  • CSS学习9[重点]--盒子模型大小、布局稳定性、CSS3盒模型以及盒子阴影
  • 端侧 ChatGPT 时刻到来!面壁小钢炮 3.0 重磅发布
  • Docker 在 Windows 上的使用指南
  • JVM性能调优之5种垃圾收集器
  • 【AI大模型应用开发】1.3 Prompt攻防(安全) 和 Prompt逆向工程
  • 滚珠花键助力生产加工精准化!
  • Python知识点:如何使用Python实现图像分类
  • 【Python】Requests:请求发送