git安装

git初始化一个仓库

  • 命令:git init;

    • 想在哪个目录创建.git目录,就是哪个目录打开工具然后写命令.
    • 一般是在项目的根目录执行这个命令.
  • 配置用户名 : git config user.name "testName"
  • 配置邮箱 : git config user.email "test@sina.com"
  • 查看配置信息: git config --list

把代码提交到仓库中

  • 1.先把代码添加到暂存区(就相当于放到仓库门口)

    • 命令:git add 文件路径
    • 示例:git add ./reademe.md
    • 可以使用git add .这个命令,批量把当前目录下所有修改过的文件添加到暂存区。
  • 2.把暂存区的文件提交仓库里
    • 命令: git commit -m "注释"
    • 示例: git commit -m "我们添加了一个新的功能"
    • -m 表示指定一个字符串,作为提交的说明(相当于注释);
  • 合并add 与commit 命令
    • git commit -a -m "这是使用合并添加与提交的操作";
    • 这里-a参数表明把所有修改后的文件一起添加到暂存区.(只是对修改后的文件有效,对于新添加的文件没有作用)

查看工作区状态

  • 命令:git status

添加忽略文件

  • 在项目中有一些文件是不需要提交的,我们需要把它忽略掉
  • 需要在.git文件夹所在目录新建一个名为git dig的文件
    然后在这个文件中写上需要被忽略的文件的路径。
    示例: /css/a.css
    : /css/*.css
    : /a.html

比对文件差异

  • 命令: git diff

    • 用来比较工作区内容与最近一次提交的内容的区别
    • 如果暂存区没有文件,就会将工作与代码与最近一次提交对比
  • 命令:git diff --cached 比较暂存区的文件和仓库中文件的区别
  • 对比之前某两次提交的文件的差异
    • 命令:git diff [版本号1] [版本号2] [想比较的文件路径]

查看日志

  • 命令:git log,可以查看每一次提交的日志
  • 命令:git log --oneline 表示使用简洁的形式输出提交日志

版本回退

  • 命令:git reset --hard Head~1

    • 这是将代码回退到上上一次提交时的状态
  • 命令:git reset --hard Head~2
    • 回退到上上上次
  • 命令:git reset --hard Head~0
    • 回退到上次提交时的状态,~0可以省略
  • 命令:git reset --hard 版本号
    • 通过每次提交时生成的版本号来回退版本
  • 通过git reflog命令可以查看之前所有版本切换的操作记录,可以通过这个命令得到的版本号回退到指定的版本。

创建分支

  • 命令:git branch [分支名]

    • 创建一个新分支
  • 命令:git branch
    • 查看当前所有的分支

切换分支

  • 命令:git checkout [分支名]

    • 切换分支后可以在切换后的分支中进行正常的操作

合并分支

  • 命令:git merge [分支名]

    • git会将指定的分支合并到当前分支.

删除分支

  • 命令:git branch -d [分支名]

    • 删除指定分支,-d参数表示要执行删除操作

git提交中的冲突

  • 如果git不能自动合并分支,就会有冲突,我们需要手动解决冲突,然后再次提交

把代码push到服务器时需要先pull一下

  • 在pull之后如果远程的代码与本地的代码有冲突,git会先自动合并冲突,如果不能自动合并,就必需我们手动去处理冲突。

从服务器上pull代码到本地

  • 如果本地没有.git目录,需要先初始化一下。
  • 命令:git pull [远程服务器地址] [远程的分支]

上传代码到git服务器(push)

  • 命令:git push [远程服务器地址] [远程服务器的分支]

    • 示例:git push https://github.com/test002.git master
  • 上传时可以使用一些简化的命令
    • 将远程服务器地址写成变量的形式

      • git remote add [变量名] [远程服务器地址]
      • 示例:git remote add origin https://github.com/test002.git
      • 这样之后就可以直接使用origin来代替git push 后面写的地址了
        git push origin master
  • 还可以尽一步简化
    • 在push时加上-u参数,就会默认建立本地当前分支与远程指定分支的关联,下一次push时就不需要输入分支名了git push origin;

死板的git命令使用方式,只在新手阶段推荐使用。

  • 1每次想要提交代码,先执行“git pull”。如果失败,走到步骤2。如果成功,直接到步骤13
  • 2调用"git stash"保存自己的本次修改(如果有新增文件,需要先"git add *",再执行“git stash”)
  • 3调用git pull,系统会自动合并代码,如果有冲突,也会提示conflict(仔细看这句话执行后的返回)
  • 4如果不只是dist里面的文件有冲突,则用编辑器打开,解决冲突(这个步骤没有把握可以求助其他人,或者冲突相关人)
  • 5如果只有dist里面的文件有冲突,重新通过gulp来生成即可。
  • 6git stash list
  • 7git pull
  • 8git stash apply stash@{0}
  • 9git status
  • 10git add .
  • 11git commit -m “xxx”
  • 12git push
  • 13再用“git add *”来添加所有改动代码,然后“git commit -m '这里是注释'”提交,并“git push”推送到线上

Mac 安装插件失败

xxxx.app已损坏,打不开.你应该将它移到废纸篓

解决方法就是临时改变Mac系统安全设置:打开  系统偏好设置 -> 安全性与隐私,修改为任何来源

如果系统版本是macOS Sierra 10.12的话会看不到这个选项,解决办法是:打开终端,执行sudo spctl --master-disable即可。

git 的一般使用的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. [日常] Go语言圣经--结构体,JSON习题

    Go语言圣经-结构体 1.结构体是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体 2.通常一行对应一个结构体成员,成员的名字在前类型在后,不过如果相邻的成员类型如果相同的话可以被合并到一行 ...

  2. 关于《阿里巴巴Java开发规约》插件的安装与使用

    一.安装 二.idea插件的安装与使用 https://github.com/alibaba/p3c/tree/master/idea-plugin#run-plugin Idea Plugin Pr ...

  3. Java - fail-fast机制

    Java提高篇(三四)-----fail-fast机制 在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList: 注意,迭代器的快速失败行为无法得到保证,因为一般来说 ...

  4. ThinkPHP5+Layui实现图片上传加预览

    html代码 <div class="layui-upload"> <button type="button" class="lay ...

  5. 排序算法(3)--Insert Sorting--插入排序[3]--Shell Sort--希尔排序

    1.基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序:随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止. 2.实现原理 对于n ...

  6. JavaSE——多线程

    进程和线程: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间.一个应用程序可以启动多个进程. 线程是指进程中的一个执行流程,有时也称为执行情景. 线程和进程的主要区别在于:每个进程都需要操 ...

  7. SD从零开始07-08

    SD从零开始7 行项目类别 Item Category的例子: 系统交付的不同的Item category支持不同的业务流程,可以根据它来创建自定义的: 定义为4位的key:前2位提示销售凭证类型,后 ...

  8. ActiveReports 区域报表中的事件介绍

    1.仅触发一次的事件 以下是在报表的处理过程中仅触发一次的所有事件这些事件在报表的处理周期中仅在最开始和结束前触发一次. ReportStart 该事件在DataInitialize事件触发之前发生. ...

  9. linux 网络和流量监控

    1.流量监控 工具iptraf 安装:sudo apt-get install iptraf 运行:sudo iptraf   2.网络监控扫描 参考:https://www.cnblogs.com/ ...

  10. Expo大作战(十三)--expo如何自定义状态了statusBar以及expo中如何处理脱机缓存加载 offline support

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...