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,一经查实,立即删除!

相关文章

辞职日记----记录31岁的程序员跳槽心态

vcleaner http://topic.csdn.net/u/20080626/23/8f6a8ecc-c072-43ee-bf2d-7ac2286b6805.html http://topic.csdn.net/u/20080704/23/858fc00d-ec14-4db7-93be-34903b7f157a.html 转载他的离职日记,有许多东西值得我们认真思考,人活着到底为了什么&a…

从Android源码的角度分析Binder机制

IPC 为了弄懂IPC的来龙去脉,我将从以下三个方面为大家来讲解,希望对大家理解IPC会有帮助 什么是IPC IPC是Inter Process Communication的缩写,其意思就是进程间的通信,也就是两个进程之间的通信过程。我们都知道在Android系统中&a…

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对象 通过索引值或索引标签获取数据 自动化对齐 四、文件操作 文件读取 数据库数据…

根据 设备名(br0/eth0/em0)称获取 当前机器的IP地址与子网掩码信息

#!/usr/bin/env python 根据 设备名(br0/eth0/em0)称获取 当前机器的IP地址与子网掩码信息import socket, struct, fcntldef get_ipaddress(ifname eth0):s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)return socket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915, # SI…

我的程序生涯

本文仅为爱好程序及向往真正之程序员者所作,其余人等可忽略下文。 如今,接触CS几近八年,不学无术,所精之物鲜也,以至一事无成。 现回忆吾程序之生涯,以整理繁杂之心绪。 1. 接触计算机和编程语言 02年始大…

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

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

项目宝提供的服务器,开源WebSocket服务器项目宝贝鱼CshBBrain V4.0.1 和 V2.0.2发布

开源WebSocket服务器项目宝贝鱼CshBBrain V4.0.1 和 V2.0.2发布更新的功能列表如下:1.解决开启广播消息开关时,不能同时接入2个客户端的重大缺陷。2.对广播消息做了重大优化,从以前一个线程发送广播消息进化到使用工作线程池中的线程并行的发…

c# 无损高质量压缩图片代码

/// 无损压缩图片 /// <param name"sFile">原图片</param> /// <param name"dFile">压缩后保存位置</param> /// <param name"dHeight">高度</param> /// <param name"dWidth"…

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

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

机器学习算法之 KNN

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

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

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

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

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

js 获取多少天前

getBeforeDate: function(day, str) { var now new Date().getTime(); //获取毫秒数 var before new Date(now - ((day > 0 && day ? day : 0) * 86400 * 1000)); var year before.getFullYear(); var month before.getMonth()1; var date before.getDate(); …

程序员的基本素质

给所有立志成为程序员的朋友 以及 自勉之&#xff01; 程序员基本素质&#xff1a; 作一个真正合格的程序员&#xff0c;或者说就是可以真正合格完成一些代码工作的程序员&#xff0c;应该具有的素质。 1&#xff1a;团队精神和协作能力 把它作为基本素质&#xff0c;并…

权限之浅理解

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

机器学习算法之生成树

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

强烈推荐给从事IT业的同行们 (转载)

作者&#xff1a;李学凌 文章来源&#xff1a;bbs.ustc.edu.cn 中国有很多小朋友&#xff0c;他们18,9岁或21,2岁&#xff0c;通过自学也写了不少代码&#xff0c;他们有的代码写的很漂亮&#xff0c;一些技术细节相当出众&#xff0c;也很有钻研精神&#xff0c;但是他…