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
相关推荐
csdn_aspnet20 小时前
Git灾难级误操作抢救手册:从reset到reflog的终极救援
git·恢复·误删
2401_8916558121 小时前
Git + 云原生:如何管理K8s配置版本?
git·云原生·kubernetes
m0_528174451 天前
Git对象存储原理(blob/tree/commit) 引用日志(reflog)
大数据·git·elasticsearch·全文检索
无限进步_1 天前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio
Wzx1980121 天前
Git分布式版本控制工具
git
whale fall2 天前
git add、git commit、git push 的区别和联系
git
倾云鹤2 天前
Git同时推送多个远程仓库
git
sdm0704272 天前
基础开发工具git,gdb
git
胡琦博客2 天前
如何同步远程分支到本地(远程有些分支已经删除了)
git
AI成长日志2 天前
【实用工具教程】Git进阶:分支策略与合并冲突解决
git