Git
2016-03-04 18:08
295 查看
一、Git是什么?
Git是一个开源的分布式版本控制系统。
1、什么是版本控制?
字面意思,控制版本,存储、追踪目录和文件的修改历史。市面上有各式各样的版本控制工具,比较常用的SVN、Git等等。
2、什么叫“分布式”版本控制?
(1)集中式:版本库存放在中央服务器
(2)分布式:没有中央服务器,版本库存在每个人自己的计算机上
3、概念
(1)工作目录(工作区,Woring Directory):执行git init的那个文件夹(linux上叫目录),里面有个.git目录
(2)版本库(Repository):工作区中的隐藏目录.git
版本库里有什么?
① 暂存区(stage或者index)
git add——把文件修改添加到暂存区
git commit,把暂存区的内容提交到当前分支(当前head指向的这个分支)
需要commit的文件事先全部放在暂存区->执行一次commit,全部提交->暂存区清空
② ....
(3)远程仓库:可以理解为“中央服务器”,远端的仓库
(4)本地仓库:你自己电脑上的仓库
(5)git仓库文件的两种状态:
① 被跟踪的(Tracked files):那些已经被提交到本地仓库的文件
② 未被跟踪的(Untracked files):那些未被提交到本地仓库的文件。比如,你在工作目录里新建一个文件,但是并没有执行add操作,所以当前此文件并不在本地仓库中,自然不被跟踪。
运行git status可以查看当前git仓库的状态
二、GitHub是什么?
首先它是一个免费的远程仓库,可以托管你的代码,同时,也是一个开源协作社区,可以让广大人民群众共同参与开发。
1、如何托管代码?
(1)点击“+”可以创建一个新的仓库
(2)法1:git clone 到你自己的计算机中的某个目录(工作区)
法2:利用Git Bash,用命令行操作。
① 若本地还没有仓库,git init一个—>把代码放进去,git add、git commit—>git remote add origin git@github.com:userName/gitName.git—>git push
② 若本地有仓库,第一步就可以省了
2、如何修改别人的代码
(1)Fork开源仓库
以https://github.com/poise/python 为例,在项目主页可以看到作者的仓库地址 https://github.com/poise/python.git,但是你不能直接克隆作者的这个仓库地址,因为你没有权限推送修改。点击“Fork”在自己的账号下克隆一个仓库
(2)clone自己的仓库地址 git@github.com:UserName/python.git,再克隆到本地计算机进行一系列修改,之后再推送自己的GitHub仓库上
(3)在GitHub上发起一个pull request,若对方接受就接受,不接受就算了...........
四、git操作
1、创建一个本地仓库,并托管在GitHub上,push文件
![](http://images2015.cnblogs.com/blog/680745/201603/680745-20160304211203940-974811175.png)
从GitHub克隆一个仓库,不用git init,也可以创建一个本地仓库
![](http://images2015.cnblogs.com/blog/680745/201603/680745-20160304173647659-1776360733.png)
2、分支控制
HEAD指针:指向的是当前分支
master分支:主分支
新建分支dev,创建dev指针,dev指针指向master相同的提交,HEAD指向dev
合并分支:在dev上修改,之后把dev合并到master上——将master指针指向dev的当前提交
删除分支:删除dev指针
![](http://images2015.cnblogs.com/blog/680745/201603/680745-20160304180653471-1411104797.png)
Git是一个开源的分布式版本控制系统。
1、什么是版本控制?
字面意思,控制版本,存储、追踪目录和文件的修改历史。市面上有各式各样的版本控制工具,比较常用的SVN、Git等等。
2、什么叫“分布式”版本控制?
(1)集中式:版本库存放在中央服务器
(2)分布式:没有中央服务器,版本库存在每个人自己的计算机上
3、概念
(1)工作目录(工作区,Woring Directory):执行git init的那个文件夹(linux上叫目录),里面有个.git目录
(2)版本库(Repository):工作区中的隐藏目录.git
版本库里有什么?
① 暂存区(stage或者index)
git add——把文件修改添加到暂存区
git commit,把暂存区的内容提交到当前分支(当前head指向的这个分支)
需要commit的文件事先全部放在暂存区->执行一次commit,全部提交->暂存区清空
② ....
(3)远程仓库:可以理解为“中央服务器”,远端的仓库
(4)本地仓库:你自己电脑上的仓库
(5)git仓库文件的两种状态:
① 被跟踪的(Tracked files):那些已经被提交到本地仓库的文件
② 未被跟踪的(Untracked files):那些未被提交到本地仓库的文件。比如,你在工作目录里新建一个文件,但是并没有执行add操作,所以当前此文件并不在本地仓库中,自然不被跟踪。
运行git status可以查看当前git仓库的状态
二、GitHub是什么?
首先它是一个免费的远程仓库,可以托管你的代码,同时,也是一个开源协作社区,可以让广大人民群众共同参与开发。
1、如何托管代码?
(1)点击“+”可以创建一个新的仓库
(2)法1:git clone 到你自己的计算机中的某个目录(工作区)
法2:利用Git Bash,用命令行操作。
① 若本地还没有仓库,git init一个—>把代码放进去,git add、git commit—>git remote add origin git@github.com:userName/gitName.git—>git push
② 若本地有仓库,第一步就可以省了
2、如何修改别人的代码
(1)Fork开源仓库
以https://github.com/poise/python 为例,在项目主页可以看到作者的仓库地址 https://github.com/poise/python.git,但是你不能直接克隆作者的这个仓库地址,因为你没有权限推送修改。点击“Fork”在自己的账号下克隆一个仓库
(2)clone自己的仓库地址 git@github.com:UserName/python.git,再克隆到本地计算机进行一系列修改,之后再推送自己的GitHub仓库上
(3)在GitHub上发起一个pull request,若对方接受就接受,不接受就算了...........
四、git操作
1、创建一个本地仓库,并托管在GitHub上,push文件
![](http://images2015.cnblogs.com/blog/680745/201603/680745-20160304211203940-974811175.png)
从GitHub克隆一个仓库,不用git init,也可以创建一个本地仓库
![](http://images2015.cnblogs.com/blog/680745/201603/680745-20160304173647659-1776360733.png)
2、分支控制
HEAD指针:指向的是当前分支
master分支:主分支
新建分支dev,创建dev指针,dev指针指向master相同的提交,HEAD指向dev
合并分支:在dev上修改,之后把dev合并到master上——将master指针指向dev的当前提交
删除分支:删除dev指针
![](http://images2015.cnblogs.com/blog/680745/201603/680745-20160304180653471-1411104797.png)
相关文章推荐
- Linux常用目录的作用
- linux运维实战练习-2016年3月4日-3月19日课程作业(练习)安排
- 关于定义的alert和confirm出现闪退问题
- javascript 小白学习指南 理解隐形原型
- 使用PC的adb工具通过wifi(TCP方式)调试安卓设备
- Android应用程序资源——Animation动画资源
- Linux内核文件系统学习:虚拟文件系统(多图)
- Caffe: net.set_mode_gpu VS. caffe.set_mode_gpu
- ajaxFileUpload SyntaxError: syntax error
- 找工作-——网络IO
- 二柱子之随机四则运算
- dictionary改写if语句
- DHCP-HA
- 安装Linux后需要了解的
- 库函数memcpy的实现
- AngularJS进阶(三十七)IE浏览器兼容性后续
- ReactiveCocoa自述:工作原理和应用
- java学习笔记-java集合类
- 详解嵌套ListView、ScrollView布局显示不全的问题
- Visual Studio问题