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),一定要确保理解它们的行为,以避免意外的数据丢失。

相关推荐
沉迷...27 分钟前
Git skip-worktree 使用笔记(本地忽略配置文件)
javascript·git
解道Jdon3 小时前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
天天喝旺仔5 小时前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
艾莉丝努力练剑6 小时前
【Git:综合复盘】Git 原理与使用
大数据·人工智能·git·elasticsearch·面试
ShineWinsu1 天前
对于Git:远程操作的超详细保姆级解析
linux·git·gitee·github·远程仓库·分布式版本控制系统·远程操作
梦帮科技1 天前
从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环
javascript·git·架构·node.js·reactjs·html5·visual studio
zho_uzhou2 天前
Git入门概念
git
爱奥尼欧2 天前
【Git】远程分支删了本地还在、两个分支历史不相干?两招故障排解
开发语言·git
Java后端的Ai之路2 天前
Git冲突完整排查与实战:本地修改覆盖报错到成功推送全流程复盘
开发语言·人工智能·git·python·pop
一个心烑2 天前
配置项目git的 SSL 证书
git·网络协议·ssl