5.git添加远程仓库,再克隆到本地,然后做分支管理

1.当你已经建立了本地的Git仓库以后,又在GitHub上建立了一个Git仓库,并且让这两个仓库远程同步

关联一个远程库,使用命令:

``` 

git remote add origin git @server-name:path/repo-name.git;

```

关联以后,第一次将内容推送到master分支上,使用命令:

``` 

git push -u origin master

```

####  2.从远程库克隆

注:之前都是讲的先建立本地的库,再关联远程库;但是如果重新开始一个项目,最好是先创建远程库,再克隆到本地

现在假设我们已经建立了远程库,那我们按开发流程,进行如下操作:

##### 1.git clone克隆一个本地库

``` 

git clone git@...你的远程仓库项目地址

```

那么多人协同开发,就可以每个人克隆一份到本地了,git支持多种协议,包扣https和ssh,但是ssh支持的原生git协议速度最快.

#### 3.从远程库克隆下来以后,进入到本地的文件夹下面,如果你什么也没有做,然后你想查看当前的分支,你执行git branch,会提示你不是Git存储库:


那么你要执行git init建立本地的代码库,然后就可以看见有master分支了,


当只有master分支时,master分支是一条线,git用master指向最新提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点.


当创建新的分支,如dev时,git新建一个指针dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上



查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>


用带参数的git log 可以查看当前分支的合并情况

git log --graph --pretty=oneline --abbrev-commit

查看分支合并图

git log --graph


分支管理策略


master分支应该是非常稳定的,用来发布新版本,平时都在dev分支上干活

dev分支是不稳定的,到版本发布的时候就把dev合并到master上面,在master上面发布新版本,

然后每个人都有自己的分支,平常测试什么的只需要将自己分支上的东西合并到dev分支上面就可以了


bug分支

如果你正在dev分支上面进行某项工作,但是现在发现一个紧急bug,要先修复bug,怎么办?

git可以使用stash功能将当前工作现场储藏起来,等以后恢复现场后继续工作

``` 

git stash

git status

```

如果现实工作区是干净的,就可以放心去创建分支修改bug了,比如要在master上面修复bug

```

git checkout master

git checkout -b bug-01

//然后修复bug,修复完以后再提交,然后切换到master分支,并删除bug分支bug-01

git add .

git commit -m "update"

git checkout master

git branch -d bug-01

```

现在我们再切换回dev分支上继续干活

```

git checkout dev

git status

//回看见说分支是干净的,那么我的之前的工作现场去哪了,我们可以用git stash list来查看

git stash list

//那么我要怎么恢复现场,有两种方式

//1.git stash apply 但是恢复以后stash内容并不会被删除,需要使用git stash drop来删除

//2.git stash pop恢复的同时把stash内容也删除了,再查看git stash list

//3.git stash apply stash@{0}

```


feature分支

在开发中总是会有新功能添加进来,但是不想让实验性的代码把主分支弄乱了,所以新添功能的时候最好新建一个分支,同bug分支一样,修改以后再合并,然后删除.

但是如果现在feature分支还没有被合并,就被要求就地销毁,功能取消,怎么办?

强行删除:

git branch -D <name>

在本地创建分支以后,关联到远程就相当于在远程创建一个同样的分支

```

git checkout develop

git branch

git checkout -b feature_xy

git add .

git commit -m "..."

git push origin feature_xy:feature_xy    //将本地新建分支关联到远程库

git branch -a    //查看远程库分支

git push origin --delete feature_xy      //删除远程分支feature_xy

git branch

git checkout develop

git branch -d feature_xy     //删除本地分支

```


多人协作

当你从远程仓库克隆的 时候,其实git已经自动将本地的master分支和远程的master分支对应起来了,并且远程仓库默认名称是origin,要查看远程仓库信息:git remote 

查看远程仓库:

git remote

git remote -v

推送分支,将本地分支上的所有代码提交到远程库

git push origin master

但是并不是一定要把本地分支往远程推送,master分支是主分支,因此要时刻与远程同步;dev分支是开发分支,大家都在上面工作,所有也要与远程同步,但是bug分支修复了就删掉好了,feature分支看你们项目需要


远程clone下来的只有master分支,但是要在dev分支上面开发,就需要创建远程origin的dev分支到本地:

git checkout -b dev origin/dev

如果只是在本地创建了dev分支并没有与远程的origin/dev分支链接提示"no tracking information",那么怎么链接呢?

git branch --set-upstream dev origin/dev

然后在pull的时候就可以pull下来了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • 远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题...
    归云丶阅读 1,956评论 0 5
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,630评论 9 163
  • 也许我们自己都已经不知道自己原谅过他(她)多少次了,只知道从那一眼看到他以后,便注定了自己可能会原谅他一辈子。 我...
    陈佳杞阅读 126评论 0 1
  • 我不过是根 一直埋在深深的土壤里 你是叶 一直都沐浴在阳光底下 我用尽气力往下伸展时 你也在向着太阳的高度前进 我...
    黄文璋阅读 400评论 0 2
  • 又是一段孤单的旅途,转眼之间毕业已经一年有余,也渐渐在没有一个亲友的异地站稳了脚步,偶尔还会在了无事事的夜晚想起...
    伴风尘阅读 198评论 0 0