git学习(4)远程库和分支管理

1.1建立本地git库和远程库联系

我使用的是GitHub上的库,首先在GitHub上新建一个库,在建立与远程库的联系之前需要建立ssh key。建立ssh key可以参考廖老师的博客

$ git remote add origin git@github.com:keithmorning/studygit.git

上面的格式是$ git remote add 远程库名称 git地址:gitHub账户名/远程git名称

下一步将本地库推送到远程库

$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (19/19), 1.47 KiB | 0 bytes/s, done.
Total 19 (delta 4), reused 0 (delta 0)
To git@github.com:keithmorning/gitstudy.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.

由于远程库是空的,我们第一次推送的时候,添加-u参数,可以吧本地的master和远程的master分支关联起来

以后再提交的时候使用

$ git push origin master就可以了

1.2从远程库克隆

先在gitHub上建立一个studygit的库,在初始化的时候选择initial with a readme.md,用来克隆的时候查看,命令git clone 地址

$ git clone git@github.com:keithmorning/studygit.git
Cloning into 'studygit'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
Checking connectivity... done.
fengxideMac:documents fengxi$ cd studygit
fengxideMac:studygit fengxi$ ls
README.md
fengxideMac:studygit fengxi$ cat readme.md
# studygit
from remove study git
fengxideMac:studygit fengxi$

1.3总结

git从本地提交到远程版本库的时候,首先使用git remote add 远程库名+地址,然后使用git push+地址命令,如果是第一次提交需要建立本地分支和远程分支的联系git push -u +地址

从远程版本库在本地建立克隆库使用命令git clone +地址

2分支管理

2.1分支的概念

先放上廖老师的经典图片

如果我们只有一个分支,那么这个分支的随着我们的提交是

--->A(master)--->B(master)---->C(master)

HEAD指向C,即当前分支

我们通过git checkout -b newBranch,新建一个分支变成这样的,并让指针指向新分支

--->A(master)--->B(master)---->C(master)

								       ---->D(newBranch)<HEAD>

在新分支中做文件修改后,添加并提交。完成后切换master,然后合并分支,使用命令 merge,指针指向master

--->A(master)--->B(master)---->C(master)----D(newBranch,master<HEAD>)

2.2命令实现

$ git checkout -b newBranch
Switched to a new branch 'newBranch'
$ git add readme.txt
$ git commit -m "new branch"
[newBranch 86c291c] new branch
1 file changed, 1 insertion(+)
$ git checkout master
Switched to branch 'master'
$ git merge newBranch
Updating bb84d1d..86c291c
Fast-forward
readme.txt | 1 +
1 file changed, 1 insertion(+)

删除newBransh分支

--->A(master)--->B(master)---->C(master)----D(master<HEAD>)

$git branch -d newBranch
Deleted branch newBranch (was 86c291c).

2.3总结

命令 介绍
git branch 查看分支
git branch <name> 创建分支
git checkout <name> 切换分支
git checkout -b <name> 创建并切换分支
git merge <name> 合并某一分支到当前分支
git branch -d <name> 删除某一分支

最新文章

  1. 解决python编码格式错误问题
  2. eclipse添加js,html,jsp编辑输入补充提示
  3. 操作系统开发系列—13.c.进程之中断重入
  4. AdaBoosting 3
  5. 监控Mysql主从环境下Slave延迟状态的操作记录
  6. PHP文件上传与安全
  7. Python教程(2.2)——数据类型与变量
  8. 串口调试者v2.1------开源c#串口调试工具
  9. jquery easyui datagrid设置可编辑行的某个列不可编辑
  10. 服务器Windows 2008R2 C盘清理
  11. PeopleSoft如何查找jar包冲突
  12. AD16 PCB重新定义板型时没有Redefine Board Shape
  13. 18.Odoo产品分析 (二) – 商业板块(10) – 电子商务(2)
  14. Android 异步下载
  15. Daily Scrum NO.6
  16. 下载vc++运行库
  17. November 18th 2016 Week 47th Friday
  18. shell基础--cat命令的使用
  19. Ubuntu 16.04 无人值守自动更新
  20. Android开发第二阶段(2)

热门文章

  1. android自定义控件(1)-自定义控件属性
  2. vuex使用 实现点击按钮进行加减
  3. imooc 生鲜超市笔记
  4. 去除inline-block元素间间距的N种方法&lt;转&gt;
  5. 示例 - 10行代码在C#中获取页面元素布局信息
  6. 深度剖析ConcurrentHashMap(转)
  7. Nginx配置proxy_pass转发的/路径
  8. 数据库 proc编程六
  9. C++ 运算符重载二(一元运算符重载)
  10. 解决 Failure to transfer * from http://repo1.maven.org/maven2