Git基础

Git是一个广泛使用的分布式版本控制系统,它允许开发者高效地协作和管理代码的历史版本。以下是Git中一些最常用的操作命令。

git init

初始化一个新的Git仓库。在你的项目目录中运行此命令,会创建一个新的.git子目录,这个目录包含所有Git的版本跟踪元数据。

git clone

克隆一个已存在的Git仓库。这个命令会创建一个与远程仓库同步的本地副本。

bash 复制代码
git clone <repository-url>

git add

将文件添加到暂存区域(staging area)。在你修改了一些文件之后,使用git add来添加这些改动,准备进行下一次的提交。

bash 复制代码
git add <file-or-directory>
git add .

git commit

将暂存区域的改动提交到仓库。每一次提交都会记录下相关的改变,并附上一条提交信息。

bash 复制代码
git commit -m "Commit message"

git status

查看仓库当前的状态,包括哪些文件被修改了但还没有提交,哪些文件已经暂存了,等待下次提交。

git push

将本地的提交推送到远程仓库。

bash 复制代码
git push <remote-name> <branch-name>

git pull

从远程仓库拉取最新的改动,并合并到本地分支。

bash 复制代码
git pull <remote-name> <branch-name>

git fetch

从远程仓库获取最新的分支和数据,但不自动合并到本地分支。

bash 复制代码
git fetch <remote-name>

git checkout

  1. 切换分支git checkout <branch>用于切换到另一个分支。
  2. 创建并切换到新分支git checkout -b <new-branch>会创建一个新的分支并切换到该分支。
  3. 检出文件git checkout -- <file>可以丢弃工作区中某个文件的修改,将其恢复到最后一次提交时的状态。

git branch

查看、创建或删除分支。

bash 复制代码
git branch # 查看分支
git branch <new-branch> # 创建分支
git branch -d <branch> # 删除分支

git merge

将指定分支的改动合并到当前分支。

bash 复制代码
git merge <branch>

git log

查看提交历史记录。

bash 复制代码
git log

git diff

查看暂存区和工作区的差异,或是查看不同提交间的差异。

bash 复制代码
git diff # 查看工作区与暂存区的差异
git diff --staged # 查看暂存区与最后一次提交的差异

git revert

创建一个新的提交,用于撤销之前的提交。这是一种安全的取消更改的方式,因为它不影响项目的历史记录。

bash 复制代码
git revert <commit-hash>

git reset

将当前分支回退到指定的状态。git reset具有多种模式(--soft, --mixed, --hard),可以根据需要重置暂存区或工作区。

bash 复制代码
git reset <commit-hash>

以上是Git最常用的一些基本操作。Git还有更多的命令和选项可以完成各种高级版本管理任务。记得在进行某些可能会影响项目历史的操作前(比如git resetgit revert),一定要确保理解它们的行为,以避免意外的数据丢失。

相关推荐
jingshaoqi_ccc7 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年7 小时前
Git简单命令
git·gitee·github·batch命令
用户12592654232010 小时前
使用 Docker 搭建 Gitea 并实现 Git HTTP 自动登录
git
一只毛驴13 小时前
谈谈对git stash的理解?
git
长风破浪会有时呀17 小时前
Git 学习笔记
笔记·git·学习
中微子1 天前
Git Rebase 详解:概念、原理与实战示例
git
荔枝吻1 天前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow
云和数据.ChenGuang1 天前
git中的指令解释
git
小Lu的开源日常1 天前
在 macOS 上设置 SSH 和 Git
git·macos·ssh
eleven_h1 天前
ERROR: Permission to Splode/pomotroid.git deni
git