@TOC
一、背景
Git 是一个非常流行的分布式版本控制系统。它被广泛应用在各种软件开发项目中,包括操作系统、编程语言、框架、网站等等。
使用 Git 作为版本控制系统,可以帮助我们管理项目的历史记录,并且方便地回溯到任意一个时间点的代码状态。同时,它还可以让多人协同开发同一个项目变得更加容易和高效。
下面结合一个具体项目,介绍 Git 的常用命令及使用方法,希望能够帮助大家更好地理解和掌握 Git 的使用。
二、Git的安装
2.1 Windows下安装Git:
下载安装包
从官网 https://git-scm.com/downloads 下载适合你系统的 Git 安装包。
安装Git
双击下载好的安装包,按照默认选项安装即可。
配置Git
安装完成后,在命令行终端输入以下命令,配置您的用户名和邮箱:
{
mathJaxContainer[0]} git config --global user.email "youremail@example.com"
2.2 Linux下安装Git:
更新系统
首先需要更新一下系统:
sudo apt-get update
安装Git
在终端输入以下命令来安装 Git:
sudo apt-get install git
配置Git
安装完成后,在终端输入以下命令,配置您的用户名和邮箱:
{
mathJaxContainer[1]} git config --global user.email "youremail@example.com"
完成以上步骤后,就可以开始使用Git了。
三、Git 基本使用
3.1 初始化 Git 仓库
在项目目录下执行以下命令,将其初始化为 Git 仓库:
git init
3.2添加文件
我们新建了一个 index.html
文件作为应用的首页,在 Git 中添加该文件:
git add index.html
3.3 提交代码
添加文件后,我们需要将代码提交到 Git 仓库:
git commit -m "add index.html"
-m
参数表示对提交进行简短的说明。
3.4 查看历史记录
我们可以通过以下命令来查看项目的提交历史:
git log
3.5创建分支
在开发过程中,为了避免主分支上的代码被影响,我们通常会创建其他分支进行开发。创建并切换到一个新的分支可以使用以下命令:
git checkout -b feature-foo
这里我们创建了一个名为 feature-foo
的分支。
3.6 修改文件
我们在 index.html
文件中添加了一些文本,表示当前处于投票期间。
3.7 查看文件状态
我们可以通过以下命令查看当前文件的状态:
git status
3.8 将修改添加到暂存区
我们可以使用以下命令将修改添加至暂存区:
git add index.html
3.9 撤销修改
如果我们意外地修改了某个文件,想要回退到上一个版本。我们可以使用以下命令进行撤销:
git checkout -- index.html
3.10 提交修改
我们将修改提交到 Git 仓库:
git commit -m "update index.html"
3.11 切换分支
我们需要切换回主分支进行后续开发:
git checkout master
3.12 合并分支
我们完成了 feature-foo
分支的开发,需要将其合并到主分支:
git merge feature-foo
3.13 拉取代码
如果在多人协作的情况下,其他人对代码进行了修改,我们需要拉取最新的代码:
git pull
3.14推送代码
我们将本地代码推送到远程 Git 仓库:
git push origin master
3.15 克隆代码
如果我们需要在另外一台设备上使用 Git 来协作开发,我们可以使用以下命令来克隆远程 Git 仓库到本地:
git clone https://github.com/your_username/example.git
四、常用的50个Git命令
- git init:在当前目录中初始化Git仓库。
- git clone:从远程服务器克隆存储库。
- git add:将更改添加到“暂存区”。
- git commit:将暂存的更改提交到存储库。
- git status:查看当前仓库的状态(未跟踪,暂存等)。
- git branch:列出本地分支。
- git checkout:切换分支或还原文件。
- git merge:将一个分支合并到当前分支。
- git pull:从远程存储库拉取更改。
- git push:将本地分支推送到远程存储库。
- git fetch:从远程存储库获取更改,但不合并到本地分支。
- git log:查看提交历史记录。
- git diff:比较两个文件之间的差异。
- git stash:将更改保存到暂存区,以便稍后恢复。
- git remote:管理远程存储库。
- git tag:打标签,并指定一个特定的提交。
- git revert:撤消一个提交。
- git reset:重置当前分支到一个特定的提交。
- git rebase:将当前分支变基于另一个分支。
- git cherry-pick:选择一个或多个提交并将其应用到当前分支中。
- git log --oneline:以一行的形式显示提交记录。
- git log -p:以补丁的形式显示提交的更改差异。
- git log --author:按作者过滤提交记录。
- git log --grep:按提交消息过滤提交记录。
- git branch -v:显示每个本地分支的最后一次提交。
- git branch --merged:列出已合并到当前分支的分支。
- git branch --no-merged:列出未合并到当前分支的分支。
- git push origin --delete :删除远程存储库中的分支。
- git config:设置或查看Git配置。
- git blame:查看文件的每一行修改是由谁提交的。
- git grep:在项目中搜索文本。
- git rm:从Git中删除文件。
- git mv:移动或重命名文件。
- git diff --cached:比较暂存区和上一次提交之间的差异。
- git remote add:添加远程存储库。
- git remote remove:删除远程存储库。
- git remote rename:重命名远程存储库。
- git remote set-url:更改远程存储库的URL。
- git mergetool:使用指定的合并工具解决合并冲突。
- git bisect:二分搜索查找引入错误的提交。
- git archive:将Git存储库打包为归档文件。
- git submodules:管理Git子模块。
- git log --graph:显示提交历史记录的图形表示。
- git log --abbrev-commit:仅显示部分提交ID。
- git log --since:查看指定日期之后的提交。
- git log --until:查看指定日期之前的提交。
- git remote prune:删除远程分支与本地不同名的远程分支。
- git fetch --prune:从远程存储库获取更改,并清除本地不存在的远程分支。
- git reflog:查看仓库的引用日志。
- git grep -n:查找文本,并显示行号。
总结
以上是 Git 的简介绍和常用命令说明。希望这篇文章能够帮助初学者更好地理解和掌握 Git 的使用。Git 在代码管理中是一个非常重要的工具,尤其是在多人协作的情况下。因此,掌握好这些基本命令是非常有必要的。更多精彩,即将到来,感谢大家支持。