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;//本地删除远程分支

相关推荐
晓数2 分钟前
【硬核干货】JetBrains AI Assistant 干货笔记
人工智能·笔记·jetbrains·ai assistant
秋秋秋秋秋雨16 分钟前
linux安装单节点Elasticsearch(es),安装可视化工具kibana
linux·elasticsearch·jenkins
我的golang之路果然有问题19 分钟前
速成GO访问sql,个人笔记
经验分享·笔记·后端·sql·golang·go·database
lwewan21 分钟前
26考研——存储系统(3)
c语言·笔记·考研
jstart千语27 分钟前
【Git】连接github时的疑难杂症(DNS解析失败)
git·github
搞机小能手1 小时前
六个能够白嫖学习资料的网站
笔记·学习·分类
工具罗某人1 小时前
TortoiseGit使用图解
git
jack xu11 小时前
高频面试题:如何保证数据库和es数据一致性
java·大数据·数据库·mysql·elasticsearch
Zhuai-行淮1 小时前
vscode和git 踩坑
ide·git·vscode
nongcunqq1 小时前
爬虫练习 js 逆向
笔记·爬虫