统一概念: 

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

  • 暂存区:键入命令 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. (转)TCP协议与UDP协议的区别

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  2. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  3. Beta 冲刺day3

    1.昨天的困难,今天解决的进度,以及明天要做的事情 昨天的困难:昨天主要是对第三方与企业复杂的逻辑关系进行分析和优化,以及进行部分模块的功能测试和代码测试. 今天解决的进度:根据前天得到的需求问题进行 ...

  4. Java io使用简介

    图:Java io概览图 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更 ...

  5. Unity3D学习(七):Unity多重采样抗锯齿设置无效的解决办法

    前言 学习Shader的过程中发现模型锯齿严重,于是去Edit--Project Settings--Quality选项下将反锯齿设置为了8X Multi Sampling.结果没有任何改变,如图: ...

  6. 指针超强汇总(谨记优先级:() > [] > *)

    参考:http://blog.chinaunix.net/uid-20120277-id-5760985.html C语言所有复杂的指针声明,都是由各种声明嵌套构成的.如何解读复杂指针声明呢?右左法则 ...

  7. PAT1084:Broken Keyboard

    1084. Broken Keyboard (20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue On a ...

  8. Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务

    1 前言 之前整理了一个spring+jotm实现的分布式事务实现,但是听说spring3.X后不再支持jotm了,jotm也有好几年没更新了,所以今天整理springboot+Atomikos+jp ...

  9. c语言常见的几种排序方法总结

    一:选择排序和冒泡排序 这两种排序比较简单,直接贴出代码: #include <stdio.h> void choose_sort(int *arr, int n); void bubbl ...

  10. IntelliJ IDEA中 todo的使用

    在代码的注释部分加入TODO 大小写忽略,如下图所示 查看项目中有哪些待办项,所下图所示