别名.

我可以使用这个命令查看repository的历史 git log --all --graph --decorate --oneline:

这个命令可能比较常用, 但是又比较长.

这时我可以创建一个自己的命令, 作为上面命令的别名.

假设我想使用git hist这个命令:

git说这个命令不存在.

这时就可以使用git config alias.xxx命令去创建一个命令的别名:

其中--global表示这个别名是全局的(用户范围内的, 不只限于这个repository), 然后alias.xxx 的xxx就是后边双引号内的命令的别名.

上图可以看到git hist的执行效果和之前的那一串命令是一样的.

下面看一下 git config的东西都保存在哪了, 先执行这个命令: git config --list --show-origin.

可以看到在windows 10下, 是在user的下面:

然后可以打开这个文件看看:

所以可以在这里直接修改别名也行.

忽略文件.

在项目里添加一个文件 nouse.txt.

假设这是一个项目配置文件, 不能删除, 但是由于里面保存着本机的安全信息, 又不能上传到远程仓库.

我可以小心翼翼的不去add这个文件. 但是git确实有这样一个命令可以把该文件排除在外, 以后也不去管他.

git使用一个叫.gitignore的文件去做这项工作.

可以看一下working directory:

里面没有这个文件. 所以创建这个文件.

Git忽略的模式是这样的:

针对具体的文件: 就写文件名即可.

针对某种类型的文件: *.后缀名

针对文件夹: 文件夹名/

那么我就把nouse.txt添加到该文件:

然后查看状态:

可以看到.gitignore文件已经起作用了, nouse.txt已经不再被追踪了.

但是.gitignore文件还是一个需要被追踪的文件, 所以针对这个文件还是需要走正常的流程的.

下面是另一个例子, 假设我项目中有一些log文件是以.log结尾的 ,例如 apache.log和iis.log等等..

这些log文件不应该被git所管理, 所以打开.gitignore文件, 添加: *.log:

然后查看状态:

可以看到log文件都被排除了.

另外一种情况就是文件夹, 假设log都放在logs文件夹下了.

\

然后查看状态:

可以看到这个未被追踪的logs目录. 这是因为logs目录下的文件是被检测到了并且还没有被从git的管辖范围内排除.

这时编辑.gitignore文件, 把logs/添加进去:

查看状态:

这样logs文件夹就被排除了.

推送回origin.

查看一下刚才这个项目的状态:

里面写着我的分支比origin/master(我这个项目放在了github上面)领先了6个commit.

所以要把这些变化推送到github上.

首先应该git pull origin master:

因为我并没有在别的地方修改这个仓库的代码, 所以远程仓库没有更新.

现在把变化推送到github, git push origin master:

之前也写过, origin就是github这个仓库的引用/别名, master是它的分支.

到github就可以看到整个commit 历史了:

今天提到的命令有: git config alias.xxx, git config --list --show-origin, git pull origin master, git push origin master

还有.gitignore文件.

Git基本命令 -- 别名 + 忽略 + 推送的更多相关文章

  1. Git:多人推送/抓取分支事项

    1.推送分支 1.1使用命令符git push origin branch-name,推送自己已修改的分支 例如git push origin master,git push origin dev. ...

  2. Git如何把本地代码推送到远程仓库

    Git如何把本地代码推送到远程仓库 1. 初始化版本库 $ git init 2. 添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件 $ git add . 3. 把添加的文件提交到版 ...

  3. 解决git rebase操作后推送远端分支不成功的问题

    转:解决git rebase操作后推送远端分支不成功的问题 前段时间在工作中同事在rebase时遇到一个问题来问我,今天突然想起来觉得有必要记录一下. 在我们日常工作中,经常使用git座位代码管理工具 ...

  4. Git for Windows之推送本地版本库到远程仓库

    Git for Windows之基础环境搭建与基础操作中介绍了Git基本环境的构建与基本的操作.生成了一个本地git版本库,本文将介绍如何将这个版本库推送到远程仓库(码云,github也可以). 1. ...

  5. 使用tortoise git将一个现有项目推送到远程仓库

    一.安装文件: 1.git https://git-scm.com/downloads 2.tortoise git https://tortoisegit.org/download/ 二.将一个现有 ...

  6. git将本地仓库推送到远程仓库

    如何将本地仓库推送到公司远程仓库? 1:前提是你本地安装好git.先把远程git仓库克隆到本地  git clone 远程仓库的地址(SSH) 2: git  branch //查看本地分支 3: g ...

  7. git 打标签并推送tag到托管服务器

    我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的. 首先我们了解下 git 的 ta ...

  8. 【Git使用】强制推送代码到多个远程仓库

    只吃了一个香蕉的晚上 一直预报的台风没有来,大盘也飘红了,世界好像变得越来越美好了似的.前两天,晚上下班坐地铁回家,靠在地铁门上看书,竟然坐到了终点站已全然不知,我也不知道我怎么了.怎么了.怎么了!最 ...

  9. git 使用钩子直接推送到工作目录

    远端机器 $ mkdir /www/teacherapi  # 创建工作目录 $ cd /data/git $ git init teacherapi.git --bare --shared Init ...

随机推荐

  1. Sql Server免域,异地备份

    --先决条件 开启xp_cmdshellEXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_c ...

  2. python 基础 ------字符串的调用详解(1)

    Python 字符串的的调用方法~~~ 废话不多说直接奔主题 >>>>>>>>>>>>>>>>> ...

  3. 山东省ACM多校联盟省赛个人训练第六场 poj 3335 D Rotating Scoreboard

    山东省ACM多校联盟省赛个人训练第六场 D Rotating Scoreboard https://vjudge.net/problem/POJ-3335 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  4. 一篇关于Asp.Net Model验证响应消息的问题处理

    之前,我做过Asp.Net Core的Model验证,在Core中过滤器对响应的处理很简单 context.Result = new JsonResult(ErrorMsg); 但是,在Asp.Net ...

  5. 走进JDK(十二)------TreeMap

    一.类定义 TreeMap的类结构: public class TreeMap<K,V> extends AbstractMap<K,V> implements Navigab ...

  6. 深入理解java虚拟机(二)-----垃圾回收

    做一个java程序员很是幸福,不用管不用的对象如何被回收,但是我认为了解一下也不是坏事. 一.如何判断对象已经死亡? 在进行垃圾回收之前,第一件事肯定是判断对象是否已经死亡.1.引用计数算法给对象添加 ...

  7. 网页偶现性崩溃-chrome

    简介: 项目前台框架:Angular2 + Bootstrap(日期等组件) + Echarts + 响应式(包括页面.字体缩放:rem) chrome版本:多个版本测试均有此问题. 表现: 订单详情 ...

  8. [小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10

    [小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10 各位看众朋友们,你们好,今天是2018年08月14日,星期二,农历七月初四,欢迎阅看今天的颓废联编节目 最近发生的灵异事件有 ...

  9. java holdsLock()方法检测一个线程是否拥有锁

    http://blog.csdn.net/w410589502/article/details/54949506 java.lang.Thread中有一个方法叫holdsLock(),它返回true如 ...

  10. 6 week work 3

    sticky vs fixed sticky:表示粘贴到某个位置.当组件设置了该属性值后,当页面滑动时,组件会跟着页面移动,当组件触及到窗体后,页面若继续滑动,组件则处在与窗体接触的位置不动.元素的定 ...