[参考文章]http://www.ruanyifeng.com/blog/2014/06/git_remote.html
[参考文章]http://blog.sina.com.cn/s/blog_74a459380101pncu.html
一、git仓库创建
1.创建一个新的仓库
git init #完成之后可以看到初始化了一个master分支
2.将要加入git管理的文件添加进来
git add newfile #将文件newfile添加到git仓库中
git add newdir #将newdir目录下的所有文件添加到git仓库中
二、拷贝远程仓库代码
A、远程仓库有master和dev分支
1. 克隆代码
git clone test@10.10.1.13:/home/test/newdir #这个git路径是无效的,示例而已
2. 查看所有分支
git branch -a
本地默认有了master分支,-a 所以会看到如下三个分支
* master[本地主分支]
remotes/origin/HEAD -> origin/master
remotes/origin/dev[远程开发分支]
remotes/origin/master[远程主分支]
新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步, 但是origin/dev分支在本地没有任何的关联,所以我们无法在那里开发。
3. 创建本地关联origin/dev的分支
git checkout dev
创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样,在创建时会自动与远程dev分支相连,并切换到dev分支,也可以修改配置文件:
[branch “dev”]
remote = origin
merge = refs/heads/dev
4. 切换到dev分支进行开发
git checkout dev #这个是切换到dev分支,然后就是常规的开发
5. 为了防止误入master分支进行开发和提交代码,可以将本地的master分支删除
git branch -d master
6.更新代码到dev分支
a、在git仓库处执行git merge master,然后在本地执行git pull
b、git pull origin master #从仓库的master分支更新代码,git pull默认是从从dev分支更新
B、远程仓库有master和dev分支
1. 克隆代码
git clone -b dev test@10.10.1.13:/home/test/newdir #加上-b参数,直接从dev分支克隆代码
2. 查看所有分支
git branch -a
本地默认有了dev分支,-a 所以会看到如下三个分支
* dev
remotes/origin/HEAD -> origin/dev[执行第一步时git仓库处于master分支,则会出现为remotes/origin/HEAD -> origin/master ]
remotes/origin/dev [远程开发分支]
remotes/origin/master[远程主分支]
3. 然后就可以开始常规的开发了
4.更新代码到dev分支
a、在git仓库处执行git merge master,然后在本地执行git pull
b、git pull origin master #从仓库的master分支更新代码,git pull默认是从从dev分支更新
C、假设远程仓库只有mater分支
1. 克隆代码
git clone test@10.10.1.13:/home/test/newdir # 这个git路径是无效的,示例而已
2. 查看所有分支
git branch -a
默认只有master分支,所以会看到如下两个分支
master[本地主分支]
origin/master[远程主分支]
新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
3. 创建本地新的dev分支
git branch dev #创建本地分支
git branch #查看分支
这是会看到本地有master和dev,而且master上会有一个星号
这个时候dev是一个本地分支,远程仓库不知道它的存在
本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步dev分支同步,先执行第4步即可。
4. 发布dev分支
发布dev分支指的是同步dev分支的代码到远程服务器
git push origin dev:dev #这样远程仓库也有一个dev分支了
5. 在dev分支开发代码
git checkout dev #切换到dev分支进行开发
开发代码之后,我们有两个选择
第一个:如果功能开发完成了,可以合并主分支
git checkout master # 切换到主分支
git merge dev # 把dev分支的更改和master合并
git push # 提交主分支代码远程
git checkout dev # 切换到dev远程分支
git push # 提交dev分支到远程
第二个:如果功能没有完成,可以直接推送
git push # 提交到dev远程分支
注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么
6. 删除分支
git push origin :dev # 删除远程dev分支,危险命令
下面两条是删除本地分支
git checkout master # 切换到master分支
git branch -d dev # 删除本地dev分支
版权声明:本文为博主原创文章,未经博主允许不得转载。