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 .