【Git】本地仓库和远程仓库常用命令

一、常见的形式

二、本地仓库常用命令

2.1 提交版本

复制代码
git add 文件名                 #工作区 => 暂存区
git commit -m "提交说明信息"    #暂存区 => 版本区

2.2 版本回退

复制代码
git reset --mixed 版本号  #版本区 => 暂存区
git reset --soft  版本号  #暂存区 => 工作区

#直接回退版本到工作区
git reset --hard  版本号  #版本区 => 暂存区 => 工作区

2.3 状态和日志

复制代码
git log          #显示提交历史记录,包括每个提交的作者、日期和提交信息。
git reflog       #操作记录
git status       #查看当前工作目录和暂存区的状态。它会显示有关文件的更改和未跟踪文件的信息
git diff         #查看文件的改动内容,包括与上一次提交的差异

2.4 针对仓库命令

2.4.1 初始化/创建仓库

复制代码
git init
 
git init [project-name]  # 新建一个目录,将其初始化为Git代码库

2.4.2 克隆远程仓库

复制代码
git clone  仓库ssh/http地址  本地路径  #将远程仓库的内容克隆到本地
git clone -b  分支名  仓库地址         #克隆分支

2.4.3 拉取和推送

git fetch和git pull都可以更新本地库。

git fetch origin本地库并没有变化,git fetch只会将本地库所关联的远程库的commit id更新至最新,HEAD没有变化很容易理解,因为本地库并没有变化。

git pull origin master:master

本地库更新至最新,git pull会将本地库更新至远程库的最新状态,由于本地库进行了更新,HEAD也会相应的指向最新的commit id,所以虽然从结果上来看,git pull = git fetch + git merge,但是从文件中保存的commit id来看,实现上不是这样实现的。

复制代码
#git pull 远程库地址别名 远程分支名:将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
git pull  origin master  # 拉取  远程仓库别名 origin ,本地仓库分支 master  
git fetch origin

#git push 别名 分支:推送本地分支上的内容到远程仓库
git push origin master  # 推送  远程仓库别名 origin ,本地仓库分支 master  

git remote -v               #查看别名
git remote add   别名   git远程库的详细地址  #增加远程库别名
# 如git remote add git-demo https://github.com/testeryueyue/git-demo.git
git push   别名  master     #利用别名,推送本地库文件到远程库 

2.5 针对分支命令

复制代码
#查
git branch      #列出所有分支
git branch -a   #列出所有本地分支和远程分支

#增
git branch [branch-name] #创建分支

#切
git checkout -b [branch]     #切换分支
git checkout [branch-name]   #切换到指定分支,并更新工作区

#合
git merge [branch]    #合并指定分支到当前分支

#删
git branch -d [branch-name]     #删除本地分支
git push origin --delete [branch-name]    # 删除远程分支
git branch -dr [remote/branch]            # 删除远程分支

2.6 标签

复制代码
git tag  #列出所有tag
git show [tag]  #查看tag信息

git tag [tag] #新建一个tag在当前commit
git tag [tag] [commit] # 新建一个tag在指定commit

git tag -d [tag]   #删除本地tag
git push origin :refs/tags/[tagName]  #删除远程tag

git push [remote] [tag]  #提交指定tag
git push [remote] --tags # 提交所有tag

git checkout -b [branch] [tag]  #新建一个分支,指向某个tag

三、git无法推送问题

但是在执行git push的时候又遇到问题了,总提示remote: error: refusing to update checked out branch: refs/heads/master 拒绝更新 后来又经一番搜索,得知,git默认拒绝push操作,我们需要修改配置,需要git的config配置,增加如下配置: [receive] denyCurrentBranch = ignore 于是乎,问题解决,可以正常使用git了。

相关推荐
码上成长2 分钟前
长耗时接口异步改造总结
前端·git·后端
Elieal2 分钟前
Git 面试题全面汇总
git
rchmin5 分钟前
Git撤销命令revert与reset区别
git
达子66616 分钟前
git-lfs的安装配置,解决大文件存储问题
linux·c++·git
_OP_CHEN35 分钟前
【Git原理与使用】(三)Git 分支管理终极指南:从基础操作到企业级实战,解锁高效协作密码
linux·运维·git·git分支管理·企业级组件·企业协作
学IT的周星星39 分钟前
Git 推送远程仓库全攻略:GitHub + Gitee 的 HTTP 和 SSH 四种方式详细对比与实操步骤(2025最新版)
git·gitee·github
拽着尾巴的鱼儿12 小时前
工具篇:git 分支版本回退
git
无限进步_14 小时前
深入理解 C/C++ 内存管理:从内存布局到动态分配
c语言·c++·windows·git·算法·github·visual studio
要加油哦~18 小时前
报错 | git 提交时,报错 .husky/commit-msg: line 4: npx: command not found | 仓库提交规范问题
git
Mr卜颛19 小时前
【Git】TortoiseGit(小乌龟)配置SSH和使用;Fork设置ssh key
git·ssh