git操作基础手册

本文介绍了一系列Git的基本操作命令,包括初始化本地仓库、查看状态、添加及提交更改、撤销操作、合并分支等,帮助开发者掌握版本控制的基本流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化本地仓库(本地已有git仓库,不需使用此命令)

git init

查看仓库状态

git status

添加所有更改到暂存区

(tips:需了解在git add 可省略,可以和git commit合并)

git add .

提交更改到本地仓库,并且添加描述

git commit -m '修复路由跳转回显BUG' 

合并git add和git commit

git commit -a -m '提交描述'

//或者

git commit -am '提交描述'

撤销上一次commit

git reset --soft HEAD^

查看操作记录

git log  

上传到远程master分支

如本地分支已处于远程master的下游分支,可直接git push 进行推送;注意冲突未解决的情况下不得推送

git push origin master

拉取指定远程分支代码合并到本地分支

(如已处于拉取的线上分支的下游分支,可直接git pull拉取线上代码),注意解决代码冲突

git pull origin dev/maste

查看本地和远程所有的分支

git branch -a

克隆远程仓库到本地

git clone ..... 

合并本地指定分支到本地当前分支

(如下:合并dev分支到当前分支)

git merge dev 

切换本地当前分支到本地dev分支

git checkout dev 

基于当前分支创建新分支

git checkout -b 新分支名

回退仓库版本

(id是仓库版本的标识),特别注意:轻易不回退版本,在回退前需和开发组长协商

git reset --hard id

注意:以上操作必须十分熟悉,要时刻牢记,下方作了解,知道有这个操作,用到的时候查阅

修改本地分支名称

git branch -m oldBranchName newBranchName

本地新建分支,推送远程仓库建立上游分支

远程分支与本地分支建议同名(当然可以随意起名,不推荐随意)

git push origin 本地分支名:远程分支名

强制提交

git push origin HEAD --force

向已提交中继续添加文件

如果我已经使用git commit -m 'xxx'将代码提交到了本地仓库,但是我后续还想向这个提交中添加文件,那我该怎么办呢?

首先将你想添加到文件使用git add xxx加入暂存区

然后运行以下命令:

git commit --amend

这将会打开一个编辑器,让你编辑上一次提交的提交信息。如果你只是想要添加文件而不改变提交信息,你可以直接保存并关闭编辑器。

Git 将会创建一个新的提交,其中包含之前的提交内容以及你刚刚添加的文件。暂存本地新加代码并且切

撤销上一次的push

如果你想撤销远程仓库的更改,并且希望保留本地的更改(即撤销commit,但不撤销代码更改):

git reset --soft HEAD~1
git stash
git push origin HEAD --force
git stash pop

 如果你想完全撤销最后一次的commit和push,并回到之前的状态:

git reset --hard HEAD~1
git push origin HEAD --force

保存当前的工作状态

(将本地尚未提交的代码均剪切并储存)

git stash

使用场景

  • 当在一个分支的开发未完成,需要切换到另一个分支进行开发时,可以使用git stash来保存当前的工作状态。
  • 遇到bug修复或紧急任务,但不想提交当前未完成的代码时,可以使用git stash来保存当前工作状态,然后切换到修复bug的分支。
  • 当需要同步远端代码,但本地代码未完成或存在冲突时,可以先使用git stash保存本地修改,然后进行同步。

同步本地stash的代码

将git stash剪切并储存的代码再次释放出来

git stash pop

遴选指定的commit到当前分支

tips:遴选的使用场景是,有的时候,你在自己分支上提交了很多次commit,但是突然上线的一个东西,只需要上线其中一个commit或者几个commit,所以这个时候,直接合并你的分支肯定不行,所以我们就要使用遴选,选取指定的commit

git cherry-pick <commit-hash>
//例:git cherry-link 51fa8307ba2acdf63f47fa820f7df41d9ce33340

遴选两个commit之间的范围到当前分支

如果是遴选的不是范围,而是指定的几个commit,不是连续性的,多个hash之间空格隔开就好

git cherry-pick <commit-hash-a>^..<commit-hash-b>
//例:git cherry-pick b9bc88cf9635c236e3abfdc57d80c1c453e99875^..3d7023ae8dd3e4af4fd56f4f0ddb572d8f3b69d6

连接远程仓库

git fetch

查看远程仓库连接地址

git remote -v

设置远程仓库连接地址

(...为远程仓库地址)

git remote set-url origin ... 

Git报错-refusing to merge unrelated histories 或者 git pull <remote> <branch> 解决办法

git pull origin master --allow-unrelated-histories

本地无仓库状态连接远程仓库

//1、初始化本地文件夹
git init
//2、查看本地文件更改的状态
git status
//3、将本地文件添加到暂存区
git commit -m "对此次提交的注释"
//4、在 github 上创建一个仓库(和本次的 demo 关联的),记得勾选上 README.md(复制仓库地址)
//5、然后在 gitBash 中输入
git remote add origin <仓库地址>
//6、最后ok~
git push -u origin main

出现git pull <remote> <branch>的解决方法

$git pull origin master --allow-unrelated-histories

可视化操作更换远程仓库地址(以VScode为例)

1.找到git隐藏的设置,先关掉git隐藏,如下,先删除**/.git,如需隐藏,再添加即可

 2.找到.git文件夹中的config文件,修改origin里的url,然后保存,这样就可以了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零凌林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值