统一概念: 

  • 工作区:增删文件和内容

  • 暂存区:键入命令 git add 改动的文件,此次改动就放到了 『暂存区』

  • 本地仓库 :键入命令 git commit ,此次改动就放到了『本地仓库』,每个 commit,我叫它为一个 『版本』。

  • 远程仓库:键入命令 git push 到远程仓库,此次改动就放到了 『远程仓库』。

  • commit-id:输出命令 git log,最上面那行 commit xxxxxx,后面的字符串即 commit-id。

  清理git的缓存:

$ git rm -r --cached .       // 清空当前文件夹的所有缓存(本地的依然保存)
$ git rm -f .           // 将当前文件夹的文件清空,本地文件也会清空,回收站也找不到,该指令请谨慎执行
$ git clean -df .        // 本地文件同样会被删除,回收站也找不到,该指令请谨慎执行

  查看当前git的状态:

$ git status

  查看远程仓库:

$ git remote        //简写
$ git remote -v //全程

  修改之后的文件以及新添加的文件,在commit之前都需要先 add:(以 tmp.py 文件和 data 文件夹为例)

$ git add tmp.py         // 添加单个文件
$ git add data/         // 添加一个目录下的所有文件
$ git add tmp.py data/     // 添加多个文件或者文件夹  

  重命名文件,将 main.py 重命名为 module.py:

$ git mv main.py module.py

  commit到本地仓库:

$ git commit -m "说明文字"

  推送到远程仓库:

$ git push [remote-name] [branch-name]

当 remote-name 为 origin,branch-name 为 master时,git push origin master。

  直接取消上一次 commit:

$ git reset HEAD~1
$ git reset --hard HEAD~1    // 加上参数“--hard”则不保留当前更改

  如果想撤回上一次 add:

$ git reset HEAD          // 如果后面什么都不跟的话 就是上一次 add 里面的全部撤销了
$ git reset HEAD tmp.py // 就是对某个文件进行撤销了

  文件 .gitignore 的用法:

# 写在 .gitignore 中的文件/文件夹都不会加入到 git 仓库中,当然前提是该文件/文件夹之前就不在仓库中,否则还是被 add 进来。如:
# 文件
*.pyc
tmp.py
# 文件夹
.idea/
__pycache__/

  git 删除远程仓库:

$ git remote rm origin

  git 添加远程仓库,并将其命名为 origin:(git 仓库改成自己的即可)

$ git remote add origin https://github.com/wuliytTaotao/Learning-Materials.git 

  统计本地仓库和远程仓库之间的的改动:(将 local_brach、origin/remote_branch 改成自己定义的名字,如 master)(如果本地仓库只是远程仓库历史中的某个节点,下面语句是不会显示有什么不同的。)

$ git diff --stat local_branch origin/remote_branch

  git diff 的一些用法:

$ git diff                  // 输出工作区和暂存区的 different (不同)。
$ git diff <commit-id> <commit-id>    // 还可以显示本地仓库中任意两个 commit 之间的文件变动:
$ git diff --cached             // 输出暂存区和本地最近的版本 (commit) 的 different(不同)。
$ git diff HEAD               // 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。 

  git log 怎么退出到命令行?输入字母 'q' 即可。

References

走在前沿的弄潮儿,怎能不会Git的那些奇技淫巧 -- 机器之心

将本地文件传输到GitHub的更多相关文章

  1. Git学习(2)-使用Git 代码将本地文件提交到 GitHub

    上次随笔写到git的安装和运用命令窗口创建本地版本库,这次主要讲一下用git代码将本地文件提交到GitHub上. 前提是有一个GitHub账号. 1.创建一个新的版本库,进入到你本地项目的根目录下(我 ...

  2. ubuntu服务器与本地文件传输

    ubuntu SSH 连接.远程上传下载文件 博客分类: Ubuntu   安装 SSH(Secure Shell) 服务以提供远程管理服务 sudo apt-get install ssh SSH ...

  3. 自动将本地文件保存到GitHub

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 这篇文章主要讲讲如何自动将本地文件保存到GitH ...

  4. 使用git 将自己的本地文件git到github上面的完整过程

    1.  首先在github网站上新建一个仓库,复制仓库地址(HTTP形式或者SSH形式,后者利用SSH,在最后一步push 的时候可以不用输入用户名和密码). 2.  在本地某个你想要的(文件夹)目录 ...

  5. 推送本地文件夹到github

    1.首先鼠标右键,Git Init Here将文件夹初始化为仓库 2.打开github桌面版 3.点击添加本地仓库 4.填好summary和description并提交 5.push到自己的githu ...

  6. 使用git将本地文件提交到github存储库

    1.首先你要安装git https://git-for-windows.github.io/ 去官网自行下载对应版本 2.安装好git服务器后,找到你项目的文件夹,右键git bash here打开命 ...

  7. 如何把本地文件上传github

    1.$ git config --global user.name "xxx" 2.$ git config --global user.email xxx@qq.com 3.进入 ...

  8. 本地文件上传GitHub

    (1)mkdir 项目名称(2)cd  项目名称(3)git init 把它变成可管理的Git仓库(4)git status 查看状态(5)git add . 点用空格隔开(6)git status ...

  9. github入门基础之上传本地文件以及安装github客户端

    github 不会使用,参照了其他大神的博客看的,很不错,就按步骤来,大家可以看看 http://www.cnblogs.com/wangzhongqiu/p/6243840.html

随机推荐

  1. 利用Tess4J实现图片识别

    一.下载 1.进入官网下载页面 https://sourceforge.net/projects/tess4j/ 2.点击download 3.下载后解压,目录如下,圈出的三个文件夹是需要用到的 二. ...

  2. remove duplicate of the sorted array

    description: Given a sorted array, remove the duplicates in place such that each element appear only ...

  3. Linux(Redhat)安装Redis

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.(百度百科 0.0) 下载:http://www.redis. ...

  4. HTML学习笔记6:列表标签

    列表标签     什么是列表标签呢? 以平台区分有什么游戏? 手游 pc游戏 家用机游戏 掌机游戏 以游戏类型区分有什么游戏? RPG ARPG MMORPG ACT FPS 以上两种就是一种列表标签 ...

  5. Ubuntu下vim中文乱码

    在linux中,用vim打开包含中文的文件时,有可能出现乱码 下面的vim配置方法亲测有效 1. 找到你的vimrc文件,也有可能是.vimrc,我的服务器是vimrc,我改的是 有的说建议不要改全局 ...

  6. 想做微信小程序第三方代理,各位觉得一键生成平台能赚到钱吗?

    这几年生意不景气,这是很多人的共识.从2009年开始,各种专家就判断"明年经济是最差的一年."然后,这个明年,一直"明"到了2018年,到最后,我们发现,经济就 ...

  7. [ SSH框架 ] Struts2框架学习之四(自定义拦截器)

    一.Struts2的拦截器 1.1 拦截器概述 拦截器,在AOP( Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截 ...

  8. Linux系统根目录各文件夹的含义

    centos7文件结构截图如下: 首先,我要说明我在安装centos系统的过程中,勾选了GNOME的图形界面,功能当中勾选了办公工具和开发工具,办公工具就是类似于微软的office,现在在微软offi ...

  9. mybatis数据源源码剖析(JNDI、POOLED、UNPOOLED)

    http://blog.csdn.net/reliveit/article/details/47325189

  10. 配置windbg遇到的问题

    这几天在学用windbg分析进程的PTE和PDE内容,不过在配置windbg的过程中就遇到了不少问题.以下是步骤,可供参考. 1. 下载windbg,建议选择32位的.然后去 http://www.m ...