learnGit
2015-11-05 15:12
162 查看
声明:学习来源为廖雪峰官网:http://www.liaoxuefeng.com/
2015.11.05
创建版本库
*初始化一个Git仓库,使用git init命令。
*添加文件到Git仓库,分两步:
第一步,使用命令$ git add ,注意,可反复多次使用,添加多个文件;
第二步,使用命令$ git commit,完成
*要随时掌握工作区的状态,使用$ git status命令。
*如果git status告诉你有文件被修改过,用$ git diff可以查看修改内容。
时光机穿梭
版本回退
*HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令$ git reset –hard commit_id。
*穿梭前,用$git log可以查看提交历史,以便确定要回退到哪个版本。
*要重返未来,用$git reflog查看命令历史,以便确定要回到未来的哪个版本。
工作区和暂存区的概念
![](https://img-blog.csdn.net/20151105165723722)
![](https://img-blog.csdn.net/20151105165758879)
![](https://img-blog.csdn.net/20151105165819625)
管理修改
两次修改合并:1st 修改 → git add → 2nd修改 → git add → git commit
*Git是如何跟踪修改的:每次修改,如果不add到暂存区,那就不会加入到commit中。
commit只提交暂存区内容,而更改版本保存后,仍在工作区。
撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
删除文件
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容
彻底删除:
rm test.txt
git rm test.txt
git commit -m “rm test.txt”
误删恢复
rm test.txt
git checkout – test.txt #把版本库里的内容恢复回来。
远程仓库
添加远程库
同步远程库
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!
克隆远程库
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
$git clone git@github.com:michaelliao/gitskills.git
默认的git://使用ssh
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git这样的地址
$ git remote add orgin https://github.com/michaelliao/learnGit.git
分支管理
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
2015.11.05
创建版本库
*初始化一个Git仓库,使用git init命令。
*添加文件到Git仓库,分两步:
第一步,使用命令$ git add ,注意,可反复多次使用,添加多个文件;
第二步,使用命令$ git commit,完成
*要随时掌握工作区的状态,使用$ git status命令。
*如果git status告诉你有文件被修改过,用$ git diff可以查看修改内容。
时光机穿梭
版本回退
*HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令$ git reset –hard commit_id。
*穿梭前,用$git log可以查看提交历史,以便确定要回退到哪个版本。
*要重返未来,用$git reflog查看命令历史,以便确定要回到未来的哪个版本。
工作区和暂存区的概念
管理修改
两次修改合并:1st 修改 → git add → 2nd修改 → git add → git commit
*Git是如何跟踪修改的:每次修改,如果不add到暂存区,那就不会加入到commit中。
commit只提交暂存区内容,而更改版本保存后,仍在工作区。
撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
删除文件
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容
彻底删除:
rm test.txt
git rm test.txt
git commit -m “rm test.txt”
误删恢复
rm test.txt
git checkout – test.txt #把版本库里的内容恢复回来。
远程仓库
添加远程库
同步远程库
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!
克隆远程库
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
$git clone git@github.com:michaelliao/gitskills.git
默认的git://使用ssh
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git这样的地址
$ git remote add orgin https://github.com/michaelliao/learnGit.git
分支管理
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
相关文章推荐
- AppCan学习笔记(1)-UI文件
- Mysql 查询实现成绩排名,相同分数名次相同,类似于rank()函数
- spring四种依赖注入方式
- JPA双向一对多和多对一
- 重装系统,升级Xcode7之后,发现安装不了CocoaPods
- Spring、Hello Spring
- substrig的用法
- TCP+swing实现
- iOS学习笔记3---delegate五步曲,轻松学会使用delegate
- JS获取html里最长公式
- ios 自定义tabbar时 viewDidAppear不调用
- Hive配置项的含义详解
- Dagger2学习笔记(一)
- 电商平台备战促销季的十大运维秘诀
- 接口参数如果后台返回"<null>",IOS 前台会崩溃,返回“”OK
- 图像
- PHP POST接收处理 IOS上传NSData图片数据,上传图片到服务器
- OC的UUID生成
- js面试题
- SSH项目,架包,源码