git常用命令和github

工作区:就是你的工作目录
暂存区:它像个缓存区域,临时保存你的改动
版本区:就是你的git仓库
HEAD:相当于一个指针,指向你最近一次提交后的结果
git status 查看状态
git add . 添加到暂存区
git commit - m"" 用于提交暂存区的文件
简写:git commit -a -m "" 用于提交跟踪过的文件,相当于git add和git 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 查看配置信息
资源:
git常用命令和github的更多相关文章
- git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用
1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l 查看当前所有配置 ...
- 【github&&git】4、git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 把git仓库从码云迁到github,及git常用命令
前言 刚开始建仓库的时候,因为网络的原因选择了国内的码云.后来又想换成github,毕竟平时github使用率比较高. 替换远程仓库地址方式如下: git remote set-url origin ...
- 【github】git常用命令和node项目
这是之前在本地搞的一个小东西.因为之前电脑经常会很卡.后来发现任务管理器中多了两个不知名的进程:chromgpu.exe和flrefox.exe 乍一看以为和chrome和firefox两个浏览器有关 ...
- Git常用命令速查表 & Git Basics & github : release 发布!
Git常用命令速查表 & Git Basics & github : release 发布! Git常用命令速查表: 1 1 1 1 1 http://git-scm.com/bo ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
随机推荐
- LinQ开篇介绍
语言集成查询(LINQ)是 Visual Studio2008中引入的一组功能. 可为 C# 和 Visual Basic 语言语法提供强大的查询功能. LINQ引入了标准易学的数据查询和更新模式,能 ...
- Android怎样监听蓝牙耳机的按键事件
Android怎样监听蓝牙耳机的按键事件 写在前面: 直接想要代码非常easy,你直接把滚动栏拉到最底端就能够看到.假设想要十分地了解为什么,那就依照我规划的一步一步来理解.下面測试环境以手头上有的「 ...
- 比真机还快的Android模拟器——Genymotion
比真机还快的Android模拟器--Genymotion ----转载请注明出处:coder-p ...
- js 获取函数的所有参数名
具体思路: 利用Function.toString()方法,获取到函数的源码,再利用正则匹配获取到参数名字. 实现代码(代码基于ES6): // 获取函数的参数名 function getParame ...
- unigui组件中client javascript delphi组件之间的操作
UniLabel组件: function OnClick(sender, e){ MainForm.UniLabel1.setText('Click!');} function Onmousemove ...
- JButton的setRollover出现的奇怪问题
设置了setRollover,可以正常出现状态但是却不会回到默认状态. 研究了一下才发现,repaint的时候不会清除背板而是覆盖上去的, 所以如果原图是透明图就会出现状态不变的情况
- YTU 2636: B3 指向基类的指针访问派生类的成员函数
2636: B3 指向基类的指针访问派生类的成员函数 时间限制: 1 Sec 内存限制: 128 MB 提交: 433 解决: 141 题目描述 领导类(Leader)和工程师类(Engineer ...
- bzoj 4719: [Noip2016]天天爱跑步【树上差分+dfs】
长久以来的心理阴影?但是其实非常简单-- 预处理出deep和每组st的lca,在这里我简单粗暴的拿树剖爆算了 然后考虑对于一组s t lca来说,被这组贡献的观察员x当且仅当: x在s到lca的路径上 ...
- 在CentOS下安装VMware tool
VMware tools是虚拟机VMware Workstation自带的一款工具.它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件.如果不安装它,我们是无法进行虚拟机和物理机之间的文件传输的. ...
- Node“getTextContent() is undefined for the type Node”处理办法
最近一个项目在MyEclipse导入后总是报getTextContent() is undefined for the type Node错误. 经过查找原来是因为Node类为JDK中自带的(org. ...