Git常用命令

目录

配置个人信息

配置远程仓库

入门命令

克隆现有的Git仓库

提交和推送

修正提交

仅追加文件

追加文件并编辑提交描述信息

撤销提交(可挽回)

撤销提交(不可挽回)

分支重置

主分支重命名


配置个人信息

Git 在提交代码时会记录作者信息,这些信息可以通过以下命令进行配置。

python 复制代码
git config --global user.name "[姓名]"

git config --global user.email "[邮箱]"

配置远程仓库

通过该命令可以将本地仓库与远程仓库建立关联才可以推送到远程仓库分支。

python 复制代码
git remote -v  # 查看当前项目的所有远程仓库信息

git remote add origin <remote_url>  # 添加一个名为origin的远程仓库

入门命令

创建一个Git仓库,需要在项目根目录

python 复制代码
git init

克隆现有的Git仓库

拿到开源项目地址可以通过该命令克隆到本地。

python 复制代码
git clone '项目地址'

提交和推送

通常写完代码后会把最新更改添加到git暂存区然后提交本次更改,最后推送到远程分支。

将当前目录及其子目录下所有修改过的文件添加到暂存区

python 复制代码
git add .

提交暂存区的所有内容到版本库

python 复制代码
git commit -m "对本次提交的修改内容描述"

修正提交

仅追加文件

将新修改添加到上次提交(当你只需要添加新的文件到上一次的提交,或者不需要改变提交信息内容时使用,--no-edit选项可以避免打开编辑器修改提交信息)

python 复制代码
git commit --amend --no-edit

追加文件并编辑提交描述信息

当你有遗漏文件且提交描述信息写错了,需要添加遗漏文件并编辑提交的描述信息时使用,

运行该命令Git 会打开文本编辑器,让你编辑最新的提交信息或者添加未包含的文件。

python 复制代码
git commit --amend

撤销提交(可挽回)

你开发了一个小功能并提交了(称为提交 A)

然后你又开发了另一个小功能并提交了(称为提交 B)
如果后来发现B有问题,但是问题很小,稍微修改就可以解决(可挽回)就需要撤销最近的提交 B,并保留修改内容。

撤消最近的提交并保留更改

(~1代表撤销前一次提交)

python 复制代码
git reset HEAD~1

如果后来发现A有问题,A的问题也是小问题(可挽回),提交A位于倒数第二次提交就需要撤销前两次提交提交 A和提交 B,并保留修改内容。

(~2代表撤销前2次提交 )同理(~n代表撤销前n次提交)

python 复制代码
git reset HEAD~2

撤销提交(不可挽回)

还是这个场景

你开发了一个小功能并提交了(称为提交 A)

然后你又开发了另一个小功能并提交了(称为提交 B)
如果后来发现A有问题,A的问题非常大不是简单修改解决的了的(不可挽回),提交A位于倒数第二次提交就需要撤销前两次提交提交 A和提交 B,直接丢弃修改内容。

撤消最近2次的提交并丢弃更改(--hard 选项:这会丢弃所有未提交的更改,包括工作区中的修改和暂存区的更改)

python 复制代码
git reset HEAD~2 --hard

分支重置

当你的本地分支落后于远程分支、

或者你的本地分支被人为恶意破坏乱搞、

再或者你希望完全放弃这些修改并重置为远程分支的状态时,

可以使用这个命令可以获取远程仓库 origin 上所有分支的最新提交,但不会自动合并到你的当前分支。

将分支重置为远程状态

python 复制代码
git fetch origin 
git reset --hard origin/'分支名称'

主分支重命名

初始化git仓库后主分支默认名称为master,我们可能要进行修改。

将本地master分支重命名为main

python 复制代码
git branch -m master main
相关推荐
慈云数据5 小时前
构建自己的私有 Git 服务器:基于 Gitea 的轻量化部署实战指南
服务器·git·gitea
@hdd10 小时前
Git三剑客:工作区、暂存区、版本库深度解析
git
Ai 编码助手11 小时前
idea插件:AICommit,智能生成Git提交信息
java·git·intellij-idea
程序猿chen1 天前
《JVM考古现场(十六):太初奇点——从普朗克常量到宇宙弦的编译风暴》
jvm·git·后端·程序人生·金融·java-ee·量子计算
死磕java的孤行者1 天前
Git 分布式版本控制工具
分布式·git·elasticsearch
java搬砖工-苤-初心不变2 天前
解决 Git 通过 SSH 克隆仓库时自动转换为 HTTPS 的问题
git·https·ssh
Naomi5212 天前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
@BreCaspian2 天前
Git 从入门到精通(开源协作特别版)
git·开源
谢尔登2 天前
【已解决】Webstorm 每次使用 git pull/push 都要输入令牌/密码登录
ide·git·webstorm
紫阡星影2 天前
TortoiseGit多账号切换配置
git·gitee·tortoisegit