统一概念: 

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

  • 暂存区:键入命令 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. 微软黑科技强力注入,.NET C#全面支持人工智能

    微软黑科技强力注入,.NET C#全面支持人工智能,AI编程领域开始C#.Py--百花齐放 就像武侠小说中,一个普通人突然得到绝世高手的几十年内力注入,招式还没学,一身内力有点方 Introducin ...

  2. Java并发-取消与关闭

    如果外部代码可以再某个操作正常完成之前就将其置入"完成"状态,那么这个操作就是可以取消的.取消的原因有:用户请求取消.有时间限制的操作.应用程序事件.错误和关闭等 中断 如果使用某 ...

  3. Nginx服务器导致CSS无法解析不起效果

    最近部署一个项目html,js正常加载,css也没有报404,css能够正常获取,只是浏览器无法解析,研究了一下发现,原来是配置Nginx的时候将/etc/nginx/nginx.conf的一行inc ...

  4. CSS学习笔记五:display,position区别

    最近常用css,经常在位置方面使用导display与position这两个属性,所以想要弄清楚它们之间的意思. 一.display 作用是规定元素应该生成的框的类型.意思是定义建立布局时元素生成的显示 ...

  5. Maven学习(二)-- Maven项目构建过程练习

    摘自:http://www.cnblogs.com/xdp-gacl/p/4051690.html 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约 ...

  6. token 防止csrf

    转自:ttps://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/#icomments 当前防御 CSRF 的几种策略 验证 HTTP Ref ...

  7. apache2.4 虚拟主机配置

    网上教程很多,仅记录我的配置,可供参考 一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. #LoadModule vhost_ ...

  8. Mysql中MyISAM引擎和InnoDB引擎的比较

    结论 如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM MyISAM 和 InnoDB的适用场景 M ...

  9. iOS开发-程序的生命周期

    为了更好的管理程序,了解程序的生命周期是很有必要的. 运行结果: 1.首次启动: 2015-05-26 17:33:28.362 Live[4858:214241] 程序开始 2015-05-26 1 ...

  10. nginx cache的玩法

      一.简介 Nginx版本从0.7.48开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当做Key,用Md5算法对Key进行哈希,得到硬盘上对应的哈希目录路径,从而将缓存内容保存在 ...