工作区:就是你的工作目录

暂存区:它像个缓存区域,临时保存你的改动

版本区:就是你的git仓库

HEAD:相当于一个指针,指向你最近一次提交后的结果

git status 查看状态

git add .  添加到暂存区

git commit - m""   用于提交暂存区的文件

简写:git commit -a -m ""  用于提交跟踪过的文件,相当于git addgit commit -m的组合技

git log 查看提交历史

Git对比命令

git diff  比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异

git diff --cached 和 git diff  --staged暂存区和版本区的对比

git diff master 工作区和版本区的对比

Git撤销命令

git reset HEAD <fileName>  撤销工作区到版本区状态

git checkout --<fileName> 用暂存区(如果为空,用版本区)替换工作区

git commit -m"file.html and file2.js" --amend  提交遗漏时,用于把两次提交合并为一次提交

Git删除命令

git rm <fileName> 删除暂存区的文件(当工作区存在时,无法删除该文件)

git rm -f <fileName> 把工作区和暂存区的文件都删除

git rm --cached <file.name> 只把暂存区的文件删除

Git恢复命令

git checkout <commit_id> <file.name> 还原指定版本的某个文件

git reset -- hard <commit_id>  恢复指定版本的全部文件

git reset -- hard   HEAD^   恢复最近版本的前一个版本

git reset -- hard   HEAD~<n>  恢复最近版本前的n个版本

git reflog 显示所有的恢复的历史信息,然后再利用git reset -- hard <commit_id>进行撤销

同步到远程仓库

git remote 列出已存在的分支

git remote -v 列出分支详细信息,显示其远程url

git push [remote-name] [本地分支名]  推送远程仓库

git pull [remote-name] [本地分支名]  拉取远程仓库

多人协作解决冲突

git fetch(从远端拉取后不进行合并,对比后在手动合并)

* Git diff master origin/master

* Git merge origin/master

gitpull(从远端拉取后直接进行合并)

 开源项目协作

  1.fork 开源项目(克隆一个版本到自己的仓库)

  2.pull request (提交个人修改申请)

分支

git branch  查看现有分支

git branch  [新分支名]

git checkout  [分支名]    切换分支

git checkout -b [新分支名]  创建并切换到该分支

git merge new1      将new1分支合并到当前分支

git branch --merge  查看当分支下所合并的分支

git branch --no-merge  查看与当分支没有合并的分支

git branch -d  new1 删除分支new1(未合并的分支不能直接删除)

git branch -D new2 强制删除没有合并的分支

GitHub上的分支

1.git  push origin new1  提交并在github上建立分支new1

2.在github上直接创建

github上的标签(releases)

1.git命令创建

git tag   显示已有的版本标签

git tag <v1.0>  创建版本v1.0

git push origin v1.0 提交版本V.10到github

2.github上直接创建

创建github博客

1.创建一个名为 "你的账户名.github.io"的仓库

2.在该仓库下创建一个index.html

3.通过浏览器访问你的账户名.github.io就能看到了

技巧:

git命令自动补全 借助tab键

git 命令设置别名   git config --global alias.co checkout(把checkout简化为co)

git config --list  查看配置信息

资源:

Pro.git中文版

廖雪峰Git教程

  

git常用命令和github的更多相关文章

  1. git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用

    1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l   查看当前所有配置 ...

  2. 【github&&git】4、git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  3. 把git仓库从码云迁到github,及git常用命令

    前言 刚开始建仓库的时候,因为网络的原因选择了国内的码云.后来又想换成github,毕竟平时github使用率比较高. 替换远程仓库地址方式如下: git remote set-url origin ...

  4. 【github】git常用命令和node项目

    这是之前在本地搞的一个小东西.因为之前电脑经常会很卡.后来发现任务管理器中多了两个不知名的进程:chromgpu.exe和flrefox.exe 乍一看以为和chrome和firefox两个浏览器有关 ...

  5. Git常用命令速查表 & Git Basics & github : release 发布!

    Git常用命令速查表 & Git Basics  & github : release  发布! Git常用命令速查表: 1 1 1 1 1 http://git-scm.com/bo ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  9. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

随机推荐

  1. LinQ开篇介绍

    语言集成查询(LINQ)是 Visual Studio2008中引入的一组功能. 可为 C# 和 Visual Basic 语言语法提供强大的查询功能. LINQ引入了标准易学的数据查询和更新模式,能 ...

  2. Android怎样监听蓝牙耳机的按键事件

    Android怎样监听蓝牙耳机的按键事件 写在前面: 直接想要代码非常easy,你直接把滚动栏拉到最底端就能够看到.假设想要十分地了解为什么,那就依照我规划的一步一步来理解.下面測试环境以手头上有的「 ...

  3. 比真机还快的Android模拟器——Genymotion

    比真机还快的Android模拟器--Genymotion                                                     ----转载请注明出处:coder-p ...

  4. js 获取函数的所有参数名

    具体思路: 利用Function.toString()方法,获取到函数的源码,再利用正则匹配获取到参数名字. 实现代码(代码基于ES6): // 获取函数的参数名 function getParame ...

  5. unigui组件中client javascript delphi组件之间的操作

    UniLabel组件: function OnClick(sender, e){ MainForm.UniLabel1.setText('Click!');} function Onmousemove ...

  6. JButton的setRollover出现的奇怪问题

    设置了setRollover,可以正常出现状态但是却不会回到默认状态. 研究了一下才发现,repaint的时候不会清除背板而是覆盖上去的, 所以如果原图是透明图就会出现状态不变的情况

  7. YTU 2636: B3 指向基类的指针访问派生类的成员函数

    2636: B3 指向基类的指针访问派生类的成员函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 433  解决: 141 题目描述 领导类(Leader)和工程师类(Engineer ...

  8. bzoj 4719: [Noip2016]天天爱跑步【树上差分+dfs】

    长久以来的心理阴影?但是其实非常简单-- 预处理出deep和每组st的lca,在这里我简单粗暴的拿树剖爆算了 然后考虑对于一组s t lca来说,被这组贡献的观察员x当且仅当: x在s到lca的路径上 ...

  9. 在CentOS下安装VMware tool

    VMware tools是虚拟机VMware Workstation自带的一款工具.它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件.如果不安装它,我们是无法进行虚拟机和物理机之间的文件传输的. ...

  10. Node“getTextContent() is undefined for the type Node”处理办法

    最近一个项目在MyEclipse导入后总是报getTextContent() is undefined for the type Node错误. 经过查找原来是因为Node类为JDK中自带的(org. ...