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
相关推荐
洛小豆17 分钟前
Git打标签仓库看不到?她说:豆子,你又忘了加 --tags!
git·后端·github
好奇的菜鸟3 小时前
理解 Git 命令 `git reset --hard origin/pre`:版本回退的“利刃”与使用禁忌
大数据·git
春生野草3 小时前
git的使用
git
今天头发还在吗3 小时前
解决 Git 推送冲突:使用 Rebase 整合远程更改
大数据·git·elasticsearch
蓝色空白的博客5 小时前
Git代码下拉更新推送操作用法整理
git
风也温柔☆7 小时前
IDEA/WebStorm 切换分支(超简单)
git·intellij-idea·webstorm·切换分支·checkout
Jammingpro18 小时前
【Git版本控制】Git初识、安装、仓库初始化与仓库配置(含git init、git config与配置无法取消问题)
java·git·elasticsearch
shark1 天前
无需放弃变更、关闭占用程序!用暂存区和 git底层命令实现 Git 变更备份
git·shell·自动化运维
_poplar_1 天前
15 【C++11 新特性】统一的列表初始化和变量类型推导
开发语言·数据结构·c++·git·算法
北城笑笑1 天前
Git 10 ,使用 SSH 提升 Git 操作速度实践指南( Git 拉取推送响应慢 )
前端·git·ssh