git学习(4)远程库和分支管理
2024-08-29 21:36:01
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> |
删除某一分支 |
最新文章
- 解决python编码格式错误问题
- eclipse添加js,html,jsp编辑输入补充提示
- 操作系统开发系列—13.c.进程之中断重入
- AdaBoosting 3
- 监控Mysql主从环境下Slave延迟状态的操作记录
- PHP文件上传与安全
- Python教程(2.2)——数据类型与变量
- 串口调试者v2.1------开源c#串口调试工具
- jquery easyui datagrid设置可编辑行的某个列不可编辑
- 服务器Windows 2008R2 C盘清理
- PeopleSoft如何查找jar包冲突
- AD16 PCB重新定义板型时没有Redefine Board Shape
- 18.Odoo产品分析 (二) – 商业板块(10) – 电子商务(2)
- Android 异步下载
- Daily Scrum NO.6
- 下载vc++运行库
- November 18th 2016 Week 47th Friday
- shell基础--cat命令的使用
- Ubuntu 16.04 无人值守自动更新
- Android开发第二阶段(2)
热门文章
- android自定义控件(1)-自定义控件属性
- vuex使用 实现点击按钮进行加减
- imooc 生鲜超市笔记
- 去除inline-block元素间间距的N种方法<;转>;
- 示例 - 10行代码在C#中获取页面元素布局信息
- 深度剖析ConcurrentHashMap(转)
- Nginx配置proxy_pass转发的/路径
- 数据库 proc编程六
- C++ 运算符重载二(一元运算符重载)
- 解决 Failure to transfer * from http://repo1.maven.org/maven2