Git 版本控制工具学习
最常用指令
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/yinqishuo/TwinBee_Godot.git
git push -u origin main
git checkout .
Git 是什么
Git 是一个免费的开源分布式版本控制系统,它可以让团队协作更加高效。Git 可以跟踪文件的变化,并且保存每个版本的历史记录。这使得团队成员可以更好地协同工作,查看他们的工作,以及合并代码更加容易。
Git有三个主要的区域:工作区、暂存区和仓库。它们的含义和关系如下:
- 工作区:就是你在电脑里能看到的目录,你可以对文件进行修改、创建、删除等操作。
- 暂存区:是一个隐藏的文件,位于.git目录下,它记录了你使用git add命令添加的文件的信息,但不保存文件本身,而是通过id指向每个文件。
- 仓库:也是位于.git目录下,它保存了你使用git commit命令提交的所有版本的文件,以及分支、标签等信息。
当你修改了工作区中的文件后,你可以使用git add命令把它们添加到暂存区,表示这些文件准备提交了。然后你可以使用git commit命令把暂存区中的文件提交到仓库,表示这些文件已经成为一个新的版本了。如果你想撤销工作区或者暂存区中的修改,你可以使用git checkout或者git reset命令来实现。当然我们还有远程仓库Github,你可以使用git push命令将仓库上传到云端。
安装 Git
在开始使用 Git 之前,您需要在您的计算机上安装 Git。您可以在 官方网站 上下载适合您操作系统的 Git 安装程序。
安装完成后,您可以在命令行窗口(例如 Terminal 或 Git Bash)中运行 git
命令来检查 Git 是否成功安装。
创建 Git 仓库
使用 Git 来跟踪一个项目的历史记录,您需要创建一个 Git 仓库。在创建 Git 仓库之前,您需要选择一个目录来存储您的项目。进入您的项目目录并运行以下命令来创建一个 Git 仓库:
git init
这将在您的项目目录中创建一个名为 .git
的子目录,这是 Git 用来保存仓库的元数据和对象数据库的地方。
添加文件到 Git 仓库
一旦您的 Git 仓库创建完成,您可以将文件添加到仓库中来进行跟踪。使用 以下命令将文件添加到 Git 仓库:
git add <filename>
这将把 <filename>
文件添加到 Git 仓库的暂存区。在您对文件进行更改并再次运行 git add
命令后,Git 会记录所有文件的更改。
提交更改
一旦您已经添加了要跟踪的文件,您可以使用以下命令将更改提交到 Git 本地仓库:
git commit -m "提交说明"
-m
参数用于添加提交说明,说明您所做的更改。
查看 Git 仓库的状态
您可以使用以下命令来查看 Git 仓库的状态:
git status
这将显示所有已更改的文件和未暂存的文件。
查看提交历史记录
使用以下令可以查看 Git 仓命库的提交历史记录:
git log
这将列出所有提交的历史记录,包括提交说明、提交者和时间戳。
分支管理
Git 允许您创建和管理多个分支,这些分支可以用于开发不同的功能或在不同的版本之间进行切换。
使用以下命令创建一个新分支:
git branch <branchname>
这将创建一个名为 <branchname>
的新分支,常用(Github)的主分支名称为master,使用-d
选项可以使一个分支被推送并合并到远程分支后删除,使用-D
选项可以使一个分支立刻强制删除。
您可以使用以下命令切换到该分支:
git checkout <branchname>
一旦您在新的分支中做出了更改,您可以将这些更改合并到主分支中。首先,您需要切换回主分支:
git checkout main
然后,使用以下命令将分支 <branchname>
的更改合并到主分支中:
git merge <branchname>
这将把 <branchname>
分支的更改合并到主分支中。
远程仓库
Git 还允许您与远程仓库进行交互,这样您可以与其他团队成员共享代码。
使用以下命令将本地仓库与远程仓库进行连接:
git remote add <remote> <url>
<remote>
是远程仓库的别名,一般用origin,<url>
是远程仓库的 URL。
例如:git remote add origin https://github.com/yinqishuo/TwinBee_Godot.git
使用以下命令将本地更改推送到远程仓库:
git push <remote> <branch>
<remote>
是远程仓库的别名,<branch>
是要推送的分支名称。
使用以下命令从远程仓库拉取更改:
git pull <remote> <branch>
这将从 <remote>
远程仓库的 <branch>
分支中拉取最新的更改并将其合并到当前分支中。
使用以下命令查看当前仓库的远程连接:
git remote -v
使用以下命令取消与远程仓库的连接:
git remote remove <remote>
撤销操作
git有三个命令可以用来撤销操作,分别是git reset
、git revert
、git checkout
。它们的用法和区别如下:
使用以下命令把撤销已经暂存的文件,可以指定不同的参数来控制撤销的程度。这个命令会改变提交历史,所以要谨慎使用。
git reset <arg> <commit_id>
<commit_id>
是撤销到某次提交的id,可以使用git log查询id,HEAD代指上一次的提交ID,HEAD~n代指上n次的提交ID。<arg>
有3个,代表不同程度的撤销,主要影响的对象就是工作区、暂存区和本地仓库。
--hard HEAD
:用于撤销上一次提交和暂存区的内容,工作区的内容也会被恢复到上一次提交的状态。--soft HEAD
:用于撤销上一次提交,但保留暂存区和工作区的内容,可以重新提交。--mixed HEAD
:用于撤销上一次提交和暂存区的内容,但保留工作区的内容,可以重新添加和提交
当我们不想修改提交历史,可以使用如下指令创建一个新的提交,它的内容是撤销指定的提交所做的修改。这个命令不会改变提交历史,所以比较安全。
git revert <commit_id>
有时后我们仅仅想把修改后的工作区恢复至未提交教的暂存区的状态,使用如下指令可以撤销工作区中提交的文件修改
git checkout <file>
<file>
撤销的指定文件,若想撤销所有文件,可以使用git checkout .
git教程 - 知乎 (zhihu.com)
Git 版本控制工具学习相关推荐
- git版本控制工具(二)----本地版本库的常用操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- git修改服务器的命令行,Git版本控制工具安装及命令行操作
很多小伙伴不知道如何来安装Git版本控制工具,对于命令操作比较陌生.本文做了一个详细的文档,希望对大家有所帮助. 1.git 是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制 ...
- Git版本控制工具的使用一
Git是一个开源的分布式版本控制工具,它的开发者就是Linux操作系统的作者Linus Tovarlds.Git被开发出来的初衷是为了更好的管理Linux内核,如今却被广泛地用于全球各大大中小型的项目 ...
- Android studio怎么使用git版本控制工具
我们在实际做项目开发时,一般都需要多人协同开发,这就产生了代码管控的需求,一些版本控制的工具就应运而生了.现在常用的一种是git,另外还有些svn等,本人感觉git工具比较好用,这篇文章也只讲述git ...
- VS Code简单使用git版本控制工具管理代码
前提准备工作: 本文是基于已经安装了git的基础上再使用VS Code对git简单使用的,如果打开一个已经用git管理的项目的话,你会发现项目的根目录里面出现一个 .git文件,如下图. 灰色文件夹. ...
- git版本控制工具的安装以及关联远程仓库(gitee为例)
安装git(版本控制工具) 360软件管家安装(网络不佳的同学) git --version(测试是否安装完成,或者在桌面右击可以看到Git Gui here和Git Bash here) 配置用户名 ...
- git 命令详解_再次学习Git版本控制工具
微信公众号:PHP在线 Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP ...
- git版本管理工具学习
1.git版本管理工具作用:a.备份b.像时光机一样回到过去,防止错误删除c.多端共享d,独当一面和团队协作 2早起的版本管理工具:CVS,集中式管理工具 github是git的一个托管网站:GitH ...
- Git版本控制工具和Github代码托管平台
一.创建代码仓库 1.配置自己的身份,提交代码时才知道是谁提交的. 设置name git config --global user.name "GHQ" 设置email git c ...
最新文章
- 分辨真假数据科学家的20个问题及回答
- 计算机网络基础学测,《计算机网络技术基础》第二1章单元学习测习题-20210622072616.docx-原创力文档...
- 《Orange’s 一个操作系统的实现》3.保护模式3----DOS加载.EXE过程
- Java BufferedReader reset()方法及示例
- Vscode Todo Tree插件
- soidworks 生成PCD点云文件
- 在vivado hls软件上打开zynqnet工程,Vivado HLS Command Prompt(Vivado HLS 命令提示符)是什么
- D - Power Strings POJ - 2406
- weblogic点击服务器没有信息,无法安装Weblogic服务器12C,jar文件甚至没有打开
- 数学建模经验分享及比赛时间汇总
- 字节版 趣味测试小程序源码
- 优动漫PAINT软件中混合模式使用实例
- Windows的程序包管理器choco安装
- 如何强制重启M1 Mac MacBook Pro?
- H264编码原理(无损压缩)
- 创新朋友圈植入广告,享受精准的朋友圈营销
- 舆情、网络舆情、舆情分析
- VB程序中的反三角函数
- bowtie里的FM-index简介
- 解决迅雷下载外网文件速度为0