git and github学习笔记
1.git的状态分为working status,stage status和commit status。git diff查看的是working status和 stage status之间的不同,git diff --cached查看的是stage status和commit status之间的不同,git diff HEAD 查看的是当前working status和最近一次commit的commit status的不同。
2.使用git log命令可以按时间从近到远的顺序查看每次的commit记录。所显示的信息包括一串hash码,提交者姓名和Email和commit comments。如果要简化显示内容,我们可以输入git log --oneline命令,这样就会只显示 hash码和commit comments,而且显示在同一行中。
3.我们可以在命令行使用 git reset --hard <commit ID号> 或者 git reset --hard HEAD来进行回退。
4.可以使用git rm filename来删除working status中的文件。如果想删除文件夹,可以通过cd dirname,然后输入git rm -r . 命令删除整个文件夹,最后cd ..回到上一层来git commit。
5 git add -A #stages All
git add . #stages new and modified, without deleted
git add -u #stages modified and deleted, without new
6.git rm from_filename to_filename意为给文件重命名,这一条指令相当于执行了mv from_filename to_filename,rm from_filename,和git add to_filename三条指令。
7.一个 .gitignore 例子。
# 此为注释 – 将被 Git 忽略# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外!lib.a# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txtdoc/*.txt 8.git checkout develop表示切换到develop分支。git checkout -- filename表示丢弃在working status的所有修改或者放弃删除某文件,回到上一次commit时候的文件状态。
9.git pull 相当于git fetch 和git merge的合并。在使用时尽量用gi fetch,然后对比更新情况,再手动合并。
例如
git fetch origin develop:tmp
git diff tmp
git merge tmp
从远程的develop分支下载代码并新建tmp分支,然后对比本地所在分支与tmp分支的区别,最后进行合并。
10.git branch -r查看远程库的分支情况。git remote -v查看远程库的URL和名称。
11.git push origin :branch_you_want_to_delete 其中origin和冒号之间有空格,表示用本地的空分支取代远程分支,也就是达到了删除远程分支的目的。
git push origin test:master // 提交本地test分支 作为 远程的master分支
git push origin test:test // 提交本地test分支作为远程的test分支
git and github学习笔记的更多相关文章
- Git与GitHub 学习笔记
以下信息来源于网络资料,并进行整理与精简 Git是目前世界上最先进的分布式版本控制系统,和svn,vss等一样都是进行版本控制的. GitHub是一个软件项目的托管平台,相当于自己建立的 svn服务器 ...
- git和github学习笔记
1. 了解Git和Github 2. 使用Github 3. Git安装和使用 4. Git基本工作流程 5. Git初始化及仓库创建和操作 6. Git管理远程仓库 7. Github Pages ...
- eclipse使用git及github学习笔记
项目托管 1.首先需要在github上建立一个远端仓库 点击Create repository后,会在github上建立相应的git仓库,并会出现如下界面: 复制https或者ssh的仓库地址,远端 ...
- Git与GitHub学习笔记(七)Windows 配置Github ssh key
前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...
- Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件
一.Git提供了文件忽略功能.当对工作区某个目录或者某些文件设置了忽略后,git将不会对它们进行追踪 HELP:如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 问题:最近 ...
- Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上
前言: 今天github push代码一直push不上去,打算就备份一份代码带国内开源码云上. Github容易出现的情况是: 国内访问速度比较慢, 如果被墙掉的话,就直接没发使用了 如果开源个PHP ...
- Git与GitHub学习笔记(五)一次提交失败的记录
代码已经跟踪了,添加注释说明,但是总是添加不了 error: pathspec 'live-page'' did not match any file(s) known to git. 重复了好多遍, ...
- Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档
前言 你可能比较熟悉如何用 Github Pages 来分享你的工作,又或许你看过一堂教你建立你的第一个 Github Pages 网站的教程.近期 Github Pages 的改进使得从不同的数据源 ...
- Git与GitHub学习笔记(一)如何删除github里面的文件夹?
按照以下步骤即可(本地删除) 1. git pull you git url2. git checkout 3. rm -r dirName4. git add --all5. git commit ...
随机推荐
- pic/at89c2051 programmer
http://dangerousprototypes.com/forum/viewtopic.php?t=170 It looks like the PICKIT2 uses a small boos ...
- Cortex-M3 Context Switching
http://www.embedded.com/design/embedded/4231326/Taking-advantage-of-the-Cortex-M3-s-pre-emptive-cont ...
- Asp.Net BulletedList
BulletedList使用及详解 BulletedList是一个让你轻松在页面上显示项目符号和编号格式(Bulledted List)的控件.对于ASP.NET 1.x里要动态显示Bulledted ...
- javascript优化
javaScript是一门解释性的语言.它不像java.C#等程序设计语言.由编译器先进行编译再运行.而是直接下载到用户的客户端进行执行.因此代码本身的优劣就直接决定了代码下载的速度以及执行的效率. ...
- Codeforces Round #338 (Div. 2) C. Running Track dp
C. Running Track 题目连接: http://www.codeforces.com/contest/615/problem/C Description A boy named Ayrat ...
- cdoj 25 点球大战(penalty) 模拟题
点球大战(penalty) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/2 ...
- 《Java虚拟机原理图解》 1.2、class文件里的常量池
[最新更新:2014/11/11] 了解JVM虚拟机原理 是每个Java程序猿修炼的必经之路. 可是因为JVM虚拟机中有非常多的东西讲述的比較宽泛.在当前接触到的关于JVM虚拟机原理的教程或者博客中 ...
- oc-16-set,get方法
S.h #import <Foundation/Foundation.h> /** 解决方案: 1.不用@public修饰 2.我们对象有访问和设置成员变量的两种操作 1>设置值 p ...
- 数据挖掘算法-Apriori Algorithm(关联规则)
http://www.cnblogs.com/jingwhale/p/4618351.html Apriori algorithm是关联规则里一项基本算法.是由Rakesh Agrawal和Ramak ...
- Java再学习——CopyOnWrite容器
一,定义 CopyOnWrite容器即写时复制的容器.通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完 ...