git笔记

git常见命令

git init :初始化本地仓库,会生成一个.git文件,该文件用于管理和追踪该本地仓库,只有在git仓库下的文件才能被管理!

git config user. name "用户名"

git config user. email " 邮箱"

git config -1 :列出当前git仓库的所有配置项

git config --unset ... 重置 当前 某些配置

git config --global ...全局配置项

利用git config --global ...全局配置的项目不能直接用git config --unset重置掉,需要加上--global

git cat-file -p gitid:查看对应gitid的新增内容

git diff file:查看暂存区和工作区的差异

git diff --file:查看版本库与工作区的差异

git status:查看工作区和暂存区的状态

git reset --[soft|mixed|hard] gitid:回退到指定gitid的文档

--soft:只有版本库会回退;

--mixed:只有版本库和暂存区都会回退;(默认)

--hard:版本库、暂存区、工作区的内容都会回退;

git checkout -- file name :撤销工作区中的代码,回退到最近一次commit或add时的版本

git reset HEAD filenmae:撤销暂存区中的文件,filename换为" . "表示撤销暂存区中的所有文件

git branch : 查看已存在的分支

git branch name:创建分支

git checkout 分支名称:切换分支

git checkout -b name:切换分支,分支不存在,就先创建在切换

git merge 分支名称:合并分支

工作区的不干净之前,不允许合并和切换到其它分支,需要暂存或者提交当前分支上的内容才能进行merge和checkout

git branch -d 分支名称:删除分支(需要在不同的分支进行删除)

git branch -D name:强制删除分支,用于在分支上进行了开发,单还为merge的分支

分支指针指向的版本即为当前分支的最新版本

git clone url;克隆远程仓库到本地

git clone 命令会将远程仓库的标签信息和分支信息都拷贝下来,但是只会拷贝远程仓库默认分支的历史版本,而一般情况下远程仓库的默认分支就是master分支,因此git clone实际上就只会将master分支上的历史版本拷贝下来,不会讲其它分支的历史版本拷贝下来

git remote -v 查看当前本地仓库与远程仓库的关联信息

git push <远程仓库名> <本地分支>:<远端分支>;推送版本;

git pull <远程仓库名> <远程分支>:<本地分支>;拉取版本x

git push <远程仓库名> //推送本地name分支到远端name分支,如果远端name分支不存在则创建之;

pull:会将远程仓库的标签和分支信息拉取下来,也会将指定拉取的远程分支的最新版本拉取下来

直接是用git push和git pull的情况:

实际上是当前工作分支与远程某个分支建立的联系,eg:

本地local_dev分支与远程仓库的dev分支建了联系,因此当我们是用git push和git pull的时候实际上是从远程dev分支上拉取数据到本地的local_dev分支

如果在push的时候出现失败了,那么说明在本次push之前,已经由用户想该远程分支push过代码了,我们需要将远程分支的代码pull拉取下来与我们本地分支上的代码进行合并,合并如果发生冲突,则解决冲突,没冲突就提交到本地分支,然后再重新push到远程分支

解决:

1、在push之前,先重新pull一下代码

2、如果pull的时候出现了合并冲突,解决合并冲突,重新提交,重新推送

git check--ignore -v filename;查看特定文件被忽略的原因

git config alias.别名 命令;给git命令取别名,如果想让别名在全局生效,那么加上--global

git tag name;为最近一次提交打标签(不带描述信息)

git tag name commitId;为指定一次提交打标签

git tag -a name -m "mes";//为最近一次提交打一个带有描述信息的标签,-a表示:创建一个带有描述信息的标签;-m 后面跟的描述信息

git tag -a name commitID -m "mes";为指定一次提交打一个带有描述信息的标签

git show tagNme;//展示指定标签的详细信息

git tag -d name;//删除指定标签

git push ;//将指定标签推送到指定远程仓库

git push --tags;//将所有标签推送到远程仓库

删除远程标签:

  1. git tag -d tagName;//先删除本地
  2. git push :refs/tags/tagName;//删除远程标签or git push origin --delete tagName

git remote show origin;//查看远程仓库的分支情况

git remote prune origin ;//删除远端分支记录

git branch --set-upstream-to=origin/远端分支 本地分支;//本地分支与远端分支建立联系

git push origin --delete branchName;//本地删除远程分支

分支记录

git branch --set-upstream-to=origin/远端分支 本地分支;//本地分支与远端分支建立联系

git push origin --delete branchName;//本地删除远程分支

相关推荐
齐 飞23 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
丫头,冲鸭!!!1 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
听忆.1 小时前
手机屏幕上进行OCR识别方案
笔记
Selina K2 小时前
shell脚本知识点记录
笔记·shell
2 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
霍格沃兹测试开发学社测试人社区3 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
Winston Wood3 小时前
一文了解git TAG
git·版本控制
幸运超级加倍~3 小时前
软件设计师-上午题-16 算法(4-5分)
笔记·算法
晨欣3 小时前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene
王俊山IT4 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习