git 命令详解和常见问题解决

功能一 提交:1:git init           # 初始化,表示即将对当前文件夹进行版本控制2:git status         # 查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。3:git add .          # 添加当前目录下所有文件到版本库4:git commit -m "第一次提交"   # 提交到版本库,并填写版本说明,以便以后回滚   5:git log            # 查看版本库的日志功能二 版本回滚:1:git add              # 增加2:git commit -m "..."  # 增加到版本库3:git log              # 查看版本库的日志4:git reset --hard     # 切换到功能一1:git reflog           # 查看所有的版本库2:git reset --hard     # 切换到功能一突然有bug需要改
解决方案一 stash:1:git add             # 增加2:git commit -m "..." # 增加到版本库    3:git log             # 查看版本库的日志        # 继续开发,发现之前上线的代码需要修改,把现在的代码保存。1:git stash          # 现在开发的代码,保存# 完成功能一,增加到版本库,提交,继续开发之前的功能,发生冲突手动解决冲突1:git stash pop       # 将第一个记录从“某个地方”重新拿到工作区(可能有冲突,需手动解决)2:git add .           # 增加到版本库3:git commit -m "..." # 增加到版本库,提交stash 用法:git stash        # 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态git stash list   # 查看“某个地方”存储的所有记录git stash clear  # 清空“某个地方”git stash pop    # 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)git stash apply  # 编号,将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) git stash drop   # 编号 ,删除指定编号的记录  解决bag方法二:(分支)1:git branch dev    # 创建dev分支 2:git branch -d dev # 删除分支 3:git checkout dev  # 切换分支 4:git merge dev     # 分支合并    
修复Bug流程:git branch dev      # 创建dev分支 git checkout dev    # 切换分支# 写代码git add .           # 增加到版本库git commit -m 'xxx' # 提交,不合并到master# 切换mastergit checkout master # 切换master git branch bug      # 创建bug分支 git chekcout bug    # 切换到bug分支# 修复bug git add .           # 增加到版本库git commit -m '紧急修复bug'  # 提交# 切换master分支git checkout master # 切换master git merge bug       # 合并分支# 删除bug分支git branch -d bug   # 删除bug分支 # 切换dev分支git checkout dev # 继续开发

git 全局配置

t config --global user.name "fenglepeng"
git config --global user.email "fenglepeng@163.com"

克隆一个新的仓库

git clone https://github.com/flepeng/flepeng.github.io.git
cd flepeng.github.io
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Username for 'https://github.com':                          # 输入GitHub用户名
Password for 'https://flp@github.com':                      # 输入GitHub密码

将一个本地文件夹推送到仓库

cd existing_folder
git init
git remote add origin https://github.com/flepeng/flepeng.github.io.git
git add .
git commit -m "Initial commit"
git push -u origin master

将一个本地仓库重命名之后推送到新的仓库

cd existing_repo
git remote rename origin old-origin
git remote add origin https://github.com/flepeng/flepeng.github.io.git
git push -u origin --all
git push -u origin --tags

另一种拉取策略

另一种拉取策略:git init  git remote add origin https://github.com/flp/test.gitgit fetch origin master git merge origin/master 提交远程代码git pull origin master git fetch origin master 

强行push 

# 如果本地和远程的库属于两个库,而你强行管理上之后,这时你无论 push 和 pull 都会报错
# ‘fatal: refusing to merge unrelated histories’此时需要
git pull origin master --allow-unrelated-histories
# 此时,两个库的文件会并存,之后就可以处理了,或者你可以使用
$ git push -u origin master -f 
# 强制提交,但是会丢失远程的代码,慎用

分支(branch)操作相关命令

$ git branch              # 查看本地分支
$ git branch -r           # 查看远程分支
$ git branch [name]       # 创建本地分支,注意新分支创建后不会自动切换为当前分支
$ git checkout [name]     # 切换分支
$ git checkout -b [name]  # 创建新分支并立即切换到新分支
$ git branch -d [name]    # 删除分支,-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
$ git merge [name]        # 合并分支,将名称为[name]的分支与当前分支合并
$ git push origin [name]  # 创建远程分支(本地分支push到远程)
$ git push origin :heads/[name] 或 $ git push origin :[name]  # 删除远程分支$ git push -u origin dev  # 加了参数-u后,以后即可直接用git push 代替git push origin master
$ git push origin         # 将当前分支推送到origin主机的对应分支。
$ git push                # 如果当前分支只有一个追踪分支,那么主机名都可以省略。 

远程提交,不用输入用户名密码

# 第一步, --global 为所有的git 都设置使用下次输入的账号密码,不推荐使用此参数
git config --global credential.helper store# 第二步,执行这步会让你输入用户名密码,后面再执行这条命令就都不用在输入了
git pull

原理:会在 用户根目录下产生如下两个文件,.gitconfig (记录用户名信息)和 .git-credentials(用户名密码) 用以记录当前操作用户,文件内容就是公钥信息。

问题解析

error: failed to push some refs to 'https://github.com/xxxx.git'

问题展示:

解决办法:

1: 进行push前先将远程仓库pull到本地仓库
$ git pull origin master    #git pull --rebase origin master
$ git push -u origin master2: 强制push本地仓库到远程 (这种情况不会进行merge, 强制push后远程文件可能会丢失 不建议使用此方法)
$ git push -u origin master -f3: 避开解决冲突, 将本地文件暂时提交到远程新建的分支中
$ git branch [name]
# 创建完branch后, 再进行push
$ git push -u origin [name]

error: src refspec master does not match any

问题解析:

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决方法

git add README 
git commit -m 'first commit'
git push origin master

GIT刷新忽略文件.gitignore

# 1、重置所有缓存(注意后面有个.)
git rm -r --cached .# 2、重新添加(注意后面有个.)
git add .# 3、提交
git commit -m ".gitignore is now working"

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel vba 调用webbrowser_VBA 公式与函数

一, 在单元格中输入公式的3种方法:1) 用VBA在单元格中输入普通公式Sub formula_1() Range("d2") ("B2 * C2") End Sub运行程序后,在D2的单元格内显示的是公式 B2 * C2 ,并非程序返回值.下文(二)中会介绍另外一种直接返回值的方式想要通过程序一…

松下NPM服务器怎么备份系统,松下(Panasonic)-NPM校正amp;CPK完整版教程,一步步带你成为SMT设备大神!...

马上注册,结交更多技术专家,享用更多功能,让你轻松解决各种三星贴片机问题您需要 登录 才可以下载或查看,没有帐号?立即注册 xa8f80375060fa05b8aebe69ffa21080c.gif (5.26 KB, 下载次数: 3)2019-8-12 00:02 上传f5aae…

Python 模块之科学计算 Pandas

目录 一、Pandas简介 数据结构 二、Series series 的创建 Series值的获取 Series的运算 Series缺失值检测 Series自动对齐 Series及其索引的name属性 三、DataFrame 创建 Index对象 通过索引值或索引标签获取数据 自动化对齐 四、文件操作 文件读取 数据库数据…

机器学习中qa测试_如何对机器学习做单元测试

作者:Chase Roberts编译:ronghuaiyang导读养成良好的单元测试的习惯,真的是受益终身的,特别是机器学习代码,有些bug真不是看看就能看出来的。在过去的一年里,我把大部分的工作时间都花在了深度学习研究和实…

一个从文本文件里“查找并替换”的功能

12345678910111213141516171819202122232425# -*- coding: UTF-8 -*-file input("请输入文件路径:") word1 input("请输入要替换的词:") word2 input("请输入新的词:") fopen(file,"r") AAAf.read() count 0 def BBB()…

机器学习算法之 KNN

K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用。比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出了。这里就运用了KNN的思想。KNN方法既可以做分类&…

安装云端服务器操作系统,安装云端服务器操作系统

安装云端服务器操作系统 内容精选换一换SAP云服务器规格在申请SAP ECS之前,请参考SAP标准Sizing方法进行SAPS值评估,并根据Sizing结果申请云端ECS服务器资源,详细信息请参考SAP Quick Sizer。SAP 各组件最低硬盘空间、RAM,以及软件…

python 进度条_六种酷炫Python运行进度条

转自:一行数据阅读文本大概需要 3 分钟你的代码进度还剩多少?今天给大家介绍下目前6种比较常用的进度条,让大家都能直观地看到脚本运行最新的进展情况。1.普通进度条2.带时间进度条3.tpdm进度条4.progress进度条5.alive_progress进度条6.可视…

权限之浅理解

白马过隙,在感叹时光流逝的同时不得不承认在学习中随着知识面的不断扩展所接受的东西也越来越多,尤其是那些外形比较容易混淆的命令,着实让作为新手的吃了很多苦头,趁着学习紧张之时偷个懒整理这周易混淆的命令: chgrp…

机器学习算法之生成树

一、什么是决策树? 决策树(Decision Tree)是一种基本的分类和回归的方法。 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种…

机器学习算法之集成学习

集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器。弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(errorrate < 0.5)。 集成算法的成功在于保证弱分类器的多样性(Diversity)。而且集成不稳定的算法也能够得到一个比较明显…

常用的方法论-NPS

转载于:https://www.cnblogs.com/qjm201000/p/7687510.html

controller调用controller的方法_SpringBoot 优雅停止服务的几种方法

转自&#xff1a;博客园&#xff0c;作者&#xff1a;黄青石www.cnblogs.com/huangqingshi/p/11370291.html 在使用 SpringBoot 的时候&#xff0c;都要涉及到服务的停止和启动&#xff0c;当我们停止服务的时候&#xff0c;很多时候大家都是kill -9 直接把程序进程杀掉&#x…

机器学习之聚类概述

什么是聚类 聚类就是对大量未知标注的数据集&#xff0c;按照数据 内部存在的数据特征 将数据集划分为 多个不同的类别 &#xff0c;使 类别内的数据比较相似&#xff0c;类别之间的数据相似度比较小&#xff1b;属于 无监督学习。 聚类算法的重点是计算样本项之间的 相似度&…

qt release打包发布_几种解决Qt程序打包后无法连接数据库问题的方法

Qt是一个跨平台C图形用户界面应用程序开发框架&#xff0c;使用它不仅可以方便地开发GUI程序&#xff0c;也可以开发非GUI程序&#xff0c;可以一次编写&#xff0c;处处编译。今天遇到的问题比较怪异&#xff0c;我开发的是一个桌面版订单管理系统&#xff0c;整体架构就是一个…

机器学习之拉格朗日乘子法和 KKT

有约束的最优化问题 最优化问题一般是指对于某一个函数而言&#xff0c;求解在其指定作用域上的全局最小值问题&#xff0c;一般分为以下三种情况(备注&#xff1a;以下几种方式求出来的解都有可能是局部极小值&#xff0c;只有当函数是凸函数的时候&#xff0c;才可以得到全局…

pmp思维导图 第六版_PMP考试技巧攻略(上)

PMP考试需要有保证足够的时间投入&#xff1a;获得PMP 考试并拿到5A 成绩&#xff0c;并且还需要理解性记忆&#xff1a;PMP 指定教材PMBOK第六版&#xff08;教材为必看三遍以上&#xff09;&#xff0c;学习起来是有趣的&#xff0c;同时也是痛苦的。因为看书时字面的字我们认…

浅谈MVC MVP MVVM

复杂的软件必须有清晰合理的架构&#xff0c;否则无法开发和维护。 MVC&#xff08;Model-View-Controller&#xff09;是最常见的软件架构之一&#xff0c;业界有着广泛应用。 它本身很容易理解&#xff0c;但是要讲清楚&#xff0c;它与衍生的 MVP 和 MVVM 架构的区别就不容易…

商务搜索引擎_外贸研修 | 世界各国常用搜索引擎,开发客户必备!

我们平时生活中也好&#xff0c;开发客户也好&#xff0c;搜索引擎是我们离不开的工具。最佳没有之一的当属谷歌了。谷歌网址&#xff1a;www.google.com谷歌高级搜索&#xff1a;https://www.google.com/advanced_search (通过设置/排除一些字词缩小精确搜索范围)作为普通使用…

HaProxy+Keepalived+Mycat高可用群集配置

概述 本章节主要介绍配置HaProxyKeepalived高可用群集&#xff0c;Mycat的配置就不在这里做介绍&#xff0c;可以参考我前面写的几篇关于Mycat的文章。 部署图&#xff1a; 配置 HaProxy安装 181和179两台服务器安装haproxy的步骤一致 --创建haproxy用户 useradd haproxy--…