一般使用git bash需要的命令

先打开git bash:

git init 可以初始化一个本地的仓库

git status 查看仓库信息

mkdir test 创建一个test的文件夹

cd test 进入到test的文件目录

touch 1.cpp 创建一个1.cpp的文件

git add 1.cpp 我们将文件提交到本地暂存区

git commit -m '第一次创建新文件' 将文件提交到仓库
vi 1.cpp 打开1.cpp文件进行编译 按i可以切换到编辑模式,在编辑模式下输入文字,输入完毕后,按ESC切换到命令模式,
在命令模式下按“ : ” 可以接受相关命令。这里我们只需要输入wq来保存文件。在按照上面的步骤git add和git commit -m重复操作。 rm -rf 1.cpp删除本地文件 git rm 1.cpp 删除暂存区内的1.cpp文件 git commit -m '删除新文件' 将仓库中的文件删除
//远程提交文件
先找到要提交的git仓库地址,比如 https://github.com/Strive-Sun/Test.git
git clone https://github.com/Strive-Sun/Test.git 将仓库克隆到本地 cd Test 进入本地仓库文件夹 touch 2.cpp 创建一个新的文件 git add 2.cpp 将新的文件提交到暂存区 git commit -m '第二次提交' 将文件提交到本地仓库 git push 将文件远程提交到github的项目目录上

注意:如果是别人的项目,你可以先fork到你的github上,再clone该项目,增添一些新功能后,再远程提交给github上
github上会提醒你添加了新的文件,你可以点击pull request来提交该修改的文件,来让作者合并该内容。

使用远程git命令时,可以使用git config --list 来查看user.name和user.email,如果没有,则需要进行配置

git config --global user.name 'Strive-Sun'

git config --global user.email '1096235292@qq.com'

在使用git push时,可能在浏览器上会提醒需要连接到浏览器的github账号,这是因为我们并没有本地配置github的账号和密码,
这一步代表我们可以用浏览器上缓存的账号密码进行配置。


如果在使用git push时遇到' The requested URL returned error: 403 Forbidden while accessing' 错误

解决方法:私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型

vi .git/config

#将
[remote "origin"]
url = https://github.com/用户名/仓库名.git
修改为:
[remote "origin"]
url = https://用户名:密码@github.com/用户名/仓库名.git

一些其他命令:

git log  查看详细的历史记录

git log --pretty=oneline 以漂亮的方式列出历史记录

git log --oneline

git reflog  多了一个log版本前进和后退的指针

上图可以看出版本回退到jjjjjj edit这行,用cat命令打开也可以发现最新的一行就是jjjjjj

找回删除的文件的操作

添加到缓存区的文件找回


git diff [文件名]  将工作区中的文件和暂存区进行比较

git diff [本地库中历史版本] [文件名]   将工作区中的文件和本地库历史记录比较

不带文件名 可以比较多个文件

上图为分支的操作

上面两个图是合并分支的操作,注意: 在命令模式下输入set nu 可以在文本前面显示行数

设置远程库别名


git fetch origin master 是将远程的文件抓取到本地,并不会修改本地的文件

使用cat 1.txt 会发现本地工作区的文件没有被修改

使用git checkout origin/master 切换到远程仓库的分支(git checkout master 切换到本地的master ) 再使用cat 1.txt查看文件后,确认是所需要的文件

然后我们就可以对本地的文件进行合并操作,使用git merge origin/master

pull = fetch + merge

git fetch [远程库地址别名][远程分支名]

git merge [远程库地址别名/远程分支名]

git rebase -i 可以合并或者删除某些 commit ,见:git删除中间某个commit


git remote add origin git@github.com:xxx.git 添加远程分支

git pull origin master 远程分支拉到本地 maste 分支

git push upstream 本地分支推送到远程 upstream 分支上

git push origin localbranch:localbranch 把新建的本地分支push到远程服务器,远程分支与本地分支同名

git push origin --delete localbranch 删除指定的远程分支

git pull origin <远程分支名>:<本地分支名> 将远程指定分支拉取到本地指定分支上

git push origin <本地分支名>:<远程分支名> 将本地当前分支推送到远程指定分支上

tag常用git命令:
git tag #列出所有tag
git tag -l v1.* #列出符合条件的tag(筛选作用)
git tag [tag名] #创建轻量tag(无-m标注信息)
git tag -a [tag名] #创建含注解的tag

git tag -l | xargs git tag -d #删除所有本地分支
git fetch origin --prune #从远程拉取所有信息
git branch -a --contains Tag_V1.0.0 # 看看哪个分支包含这个tag/commit

git push origin --tags #推送所有本地tag到远程
git push origin [本地tag名] #推送指定本地tag到远程

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

git fetch origin [远程tag名] #拉取远程指定tag
git show [tag名] #显示指定tag详细信息

#查询远程tags的命令如下:
git ls-remote --tags origin

相关:git 如何同步本地tag与远程tag

git rm --cached 子模块名称 #移除子模块

相关:git中submodule子模块的添加、使用和删除

出现  "Please enter a commit message for your changes" 时要更换文本编辑器

使用:git config --global core.editor "code --wait"

git bash 的一些使用的更多相关文章

  1. cmder git bash 使用

    cmder 是一款 windows 下的命令集合软件,它可以集合各种系统下的命令,并且操作非常快速方便. 安装有两个版本,一个是简化版(4.27M),一个是完全版(75.7M),它们的唯一区别:完全版 ...

  2. Git bash下中文乱码问题

    Git bash下中文乱码--解决方案 解决办法1: 在git bash下,右键 出现下图,选择options: 选择"Text" 将Character set设置为 UTF-8 ...

  3. 解决Scala Play框架在Git Bash运行的异常:Could not find configuration file ../framework/sbt/sbt.boot.properties

    Git Bash+ConEmu可以模拟Linux强大的命令行.不过在结合Scala和Play时,需要注意如下事项: 1. Scala的安装在64位操作系统下,默认会放在“C:\Program File ...

  4. msysgit之git bash方便的复制粘贴,默认工作目录,窗口大小,提高速度等小窍门

    桌面图标点鼠标右键,选择属性,修改工作目录到自己的git目录: 打开快速编辑,这时候鼠标左键可以随意选取文本,enter键复制.鼠标右键是粘贴.另外,粘贴的快捷键是 inerst键 修改默认窗口大小 ...

  5. shell,bash,git bash,xshell,ssh

    一:shell是linux/unix系统的外壳,也可以理解为命令行接口,就是你输入并执行命令行的地方.bash(born again shell)是shell的一种,最常用的shell之一.你在你的l ...

  6. Windows 环境下配置 git bash 的 HOME 默认路径

    0.引 在 windows 下安装 git 之后, git 默认的HOME和~路径一般都是C:\Users\用户名,每次得用命令切换到常用的Repository下,此操作重复而没有意义.为了修改默认路 ...

  7. Git bash 配置ssh key

    问题描述 昨天为了配置Qt create中的Git,把我一直在使用的Github删除了,今本以为,这样git的一些配置还在,可是,今天上传一些提交的时候,提示我,git没有密钥.梳理一下,这个简单的配 ...

  8. 初学git:用git bash往github push代码

    对于我来说,最开始使用github主要是为了使用它的pages功能展示demo.其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其 ...

  9. 详细介绍如何在win7下首次实现通过Git bash向Github提交项目

    详细介绍如何在win7下首次实现通过Git bash向Github提交项目 引自:http://jingpin.jikexueyuan.com/article/35944.html 作者: wddoe ...

  10. When cloning on with git bash on Windows, getting Fatal: UriFormatException encountered

    I am using git bash $ git --version git version .windows. on Windows 7. When I clone a repo, I see: ...

随机推荐

  1. blackbox的简单学习-监控web服务是否正常以及证书过期时间

    blackbox的简单学习-监控web服务是否正常以及证书过期时间 下载blackbox https://github.com/prometheus/blackbox_exporter 可以在rele ...

  2. [转帖][译]ARM大小核架构白皮书

    https://zhuanlan.zhihu.com/p/33411449 ARM big.LITTLE Processing with ARM Cortex-A15 & Cortex-A7 ...

  3. 日常测试进行beans比较的简单方法

    日常测试进行beans比较的简单方法 摘要 想每天把有变化的bean抓取出来有新增的beans时能够及时进行分析和介入 保证beans 都是符合规范的. 方式和方法 开启actuator 打开bean ...

  4. Linux下面sysstat的安装与简介

    https://blog.51cto.com/smoke520/2160073   在Linux系统下获取sysstat-10.0.5.tar.gz的两种方式: 方式一: 下载sysstat-10.0 ...

  5. Windows 环境下简单的自动备份以及清理数据库的操作过程

    今天能想到要简单的备份一下windows上面的数据库. 然后并且能够定期清理文件. 然后从网上找了一下 找到把饭如下 1. 备份 创建一个目录用来存放数据库备份 c:\dbbak 然后编写一个脚本, ...

  6. 《SAIS Supervising and Augmenting Intermediate Steps for Document-Level Relation Extraction》论文阅读笔记

    代码   原文地址   预备知识: 1.什么是标记索引(token indices)? 标记索引是一种用于表示文本中的单词或符号的数字编码.它们可以帮助计算机理解和处理自然语言.例如,假如有一个字典{ ...

  7. 京东云RASP云原生安全免疫创新实践

    作者:京东云 刘一鑫 1 背景 随着网络攻击事件整体呈上升趋势,应用作为网络入口承载着大量业务和流量,因此成为了安全的重灾区.黑客往往借助自动化的工具以及安全漏洞,对Web进行漏洞扫描和探测,进而利用 ...

  8. axios取消请求

    为什么会有取消请求-文件上传 比如有这样的场景,在一个弹窗中有文件上传. 当用户进行文件上传的时候,发现不想进行文件上传了,又点击了弹窗中的取消. 那么是不是应该去取消本次的上传操作,此时就需要使用取 ...

  9. 简述if if和if else的关系与区别

    简述if if和if else的关系与区别 当满足条件1,条件2都会执行的哈. 双if是每一个if都会进行判断,依次对if进行判断,互相之间不会影响; if(条件1){ 要执行的语句; } if(条件 ...

  10. Gorm 应用开发时区问题与unique唯一索引字段数据冲突问题

    目录 一.定义表模型时区问题 1.1 time.Time 与int64 1.2 优势 二.unique唯一索引字段数据冲突问题 一.定义表模型时区问题 1.1 time.Time 与int64 一般情 ...