IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git 学习总结 -> 正文阅读

[开发工具]Git 学习总结

教程大全

  1. Git 入门教程 https://www.runoob.com/git/git-tutorial.html

  2. Git 使用规范流程 http://www.ruanyifeng.com/blog/2015/08/git-use-process.html?utm_source=tuicool20

  3. Git 分支工作流程 https://www.softwhy.com/article-8651-1.html

  4. 在工作中是如何使用 Git 的 https://zhuanlan.zhihu.com/p/250493093

  5. Git 大全 https://gitee.com/all-about-git

  6. Pro Git book 中文版 https://git-scm.com/book/zh/v2

  7. Git Workflows and Tutorials 中文版 https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md

Git 安装和配置

安装 Git

macOS

通过 Xcode 安装。直接从 AppStore 安装 Xcode,Xcode 集成了 Git,不过默认没有安装,你需要运行 Xcode,选择菜单 “Xcode”->“Preferences”,在弹出窗口中找到 “Downloads”,选择 “Command Line Tools”,点 “Install” 就可以完成安装了。

Linux(Ubuntu)

sudo apt-get install git

配置 git

设置 name 和 email(每次 commit 都会记录他们)

git config --global user.name "peng"
git config --global user.email "xxx@qq.com"

通过终端命令创建 ssh key

ssh-keygen -t rsa -C "xxx@qq.com"

我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key。

终端查看.ssh/id_rsa.pub 文件

cat .ssh/id_rsa.pub 

复制 id_rsa.pub 的具体内容,登录 GitHub(和 Gitee),添加 ssh key

验证 ssh 是否配置成功

ssh -T git@github.com

ssh -T git@giteee.com 

至此,我们就可以使用 git 协议克隆 Github 和 Gitee 上自己的全部项目,和别人公开的项目了。

Git 工作流程

工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

Git 工作区、暂存区和版本库

概念解读

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

Git 创建仓库 和 基本操作

git init

Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。

在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。

使用当前目录作为 Git 仓库,我们只需使它初始化。

git inti

该命令执行完后会在当前目录生成一个 .git 目录。

使用我们指定目录作为 Git 仓库。

git init newrepo

初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。

如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交一个 commit。

git clone

我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

克隆仓库的命令格式为:

git clone <repo>

如果我们需要克隆到指定的目录,可以使用以下命令格式:

git clone <repo> <directory>

配置

git 的设置使用 git config 命令。

显示当前的 git 配置信息:

 git config --list

编辑 git 配置文件:

git config -e    ##  针对当前仓库 

或者:

git config -e --global   ##  针对系统上所有仓库

设置提交代码时的用户信息:

$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com

如果去掉 --global 参数只对当前仓库有效。

Git 基本操作

Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull。

创建仓库命令

  • git init 初始化仓库
  • git clone 拷贝一份远程仓库,也就是下载一个项目。

提交与修改

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

  • git add 添加文件到仓库
  • git status 查看仓库当前的状态,显示有变更的文件。
  • git diff 比较文件的不同,即暂存区和工作区的差异。
  • git commit 提交暂存区到本地仓库。
  • git reset 回退版本。
  • git rm 删除工作区文件。
  • git mv 移动或重命名工作区文件。

提交日志

  • git log 查看历史提交记录
  • git blame 以列表形式查看指定文件的历史修改记录

远程操作

  • git remote 远程仓库操作
  • git fetch 从远程获取代码库
  • git pull 下载远程代码并合并
  • git push 上传远程代码并合并

Git 分支管理和提交历史

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。

创建分支命令:

git branch (branchname)

切换分支命令:

git checkout (branchname)

当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

合并分支命令

一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。 你可以使用以下命令将任何分支合并到当前分支中去。

git merge 

列出分支

列出分支基本命令:

git branch

删除分支

git branch -d (branchname)

Git 查看提交历史

Git 提交历史一般常用两个命令:

  • git log - 查看历史提交记录。
  • git blame - 以列表形式查看指定文件的历史修改记录。

在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。

我们可以用 --oneline 选项来查看历史记录的简洁的版本。

我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并。以下为相同的命令,开启了拓扑图选项:

你也可以用 --reverse 参数来逆向显示所有日志。

如果只想查找指定用户的提交日志可以使用命令:git log --author ,例如,比方说我们要找 Git 源码中 Linus 提交的部分:

如果你要指定日期,可以执行几个选项:–since 和 --before,但是你也可以用 --until 和 --after。

更多 git log 命令可查看:http://git-scm.com/docs/git-log

如果要查看指定文件的修改记录可以使用 git blame 命令,格式如下:

git blame <file>

Git 标签

如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。

-a 选项意为"创建一个带注解的标签"。 不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解。 我推荐一直创建带注解的标签。

$ git tag -a v1.0 

当你执行 git tag -a 命令时,Git 会打开你的编辑器,让你写一句标签注解,就像你给提交写注解一样。

现在,注意当我们执行 git log --decorate 时,我们可以看到我们的标签了:

如果我们要查看所有标签可以使用以下命令:

$ git tag
v0.9
v1.0

指定标签信息命令:

git tag -a <tagname> -m "runoob.com 标签"

Github、Gitee 和服务器搭建

如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。

如果不知道 Github 怎么使用,推荐你先看看 Github 简明教程

Git Gitee

大家都知道国内访问 Github 速度比较慢,很影响我们的使用。

如果你希望体验到 Git 飞一般的速度,可以使用国内的 Git 托管服务——Gitee(gitee.com)。

Gitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务,5 人以下小团队免费。

如果不知道 Gitee 怎么使用,推荐你先看看 Gitee 简明教程

Git 服务器搭建

Gitea

https://gitea.io/zh-cn/

Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

Gitea 特点

  1. 开源
  2. 易安装
  3. 跨平台
  4. 轻量级

Gitlab

基于 Rails 开发,值得研究。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:58:30  更:2021-12-02 16:59:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:32:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码