1. git clone ssh://***projectName.git (项目仓库地址) 此时是把仓库地址于本地建立关联,并拷贝了地址。
2. cd projName 目录下。
3. git branch -r 可以看到远程仓库中的分支情况
4. git checkout -b 本地分支名 origin/远程分支名 可以拉取远程仓库的分支,并且切换到本地分支。
参考链接:
https://www.cnblogs.com/hamsterPP/p/6810831.html
当我想从远程仓库里拉取一条本地不存在的分支时:
git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。
git branch 查看当前使用分支
git branch -a 查看所有分支,本地分支和远程分支
git branch -r 查看远程分支
git checkout 分支名 切换分支
git branch -d 分支名 删除本地分支
1. 首先切换到master分支
git checkout master
2.如果多人开发,需要先pull下master分支
git pull origin master
3.把我们的dev分支合并代master分支
git merge dev
当提交代码merger有冲突的时候。
git reset --soft HEAD~1 我之前提交了一次,现在回退到前一个节点,但是不删除本地代码
git stash 缓存本地修改的代码
git pull 拉取远程代码
git stash pop 把本地代码 从缓存中 弹出
修改冲突的代码
git push origin HEAD:refs/for/master 在此提交代码
git强制覆盖本地命令(分步执行):
git fetch --all
git reset --hard origin/master (这里master要修改为对应的分支名)
git pull
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull
GIT使用过程中出现(master|REBASE 1/10)
git rebase --abort
记得提交代码之前 需要更新
没有合并之前一定不能两次commit
如果第一次提交了,但是还需要修改代码,可以使用
git commit --amend
代码提交命令
git push origin HEAD:refs/for/master
git push origin HEAD:refs/for/master-demo-200928
git push origin HEAD:refs/for/master-dev
拉取代码更新: git pull 由代替 git fetch && git rebase
1.发了版本需要做一个版本
分支
,如果此版本出了bug 可以切换到此版本修改bug,以后可能在某一个版本节点上延伸出新的
分支
2.需要一个开发版的
分支
用来开发新的功能,因为很多情况下都是开发没开发完又发现了紧急bug,这个时候不能用当前的代码马上打包修复bug
二、之前搭好了一个gerrit 代码服务器,只记录一下创建
分支
的流程
1.创建
分支
直接去gerrit 界面创建
分支
,名字按照自己的需求填写,初始化版本->
指定
一个master 提交的版本SHA1
随着代码学习的深入,越来越多人使用
git
hub或者
git
lab进行项目管理,这就会涉及到一些
远程
操作。比如的ssh配置在还有本文的主角:仓库
分支
的切换不成功。切换
分支
遇到问题多半是缓存的问题,先使用
git
pull
刷新缓存再切换
分支
通常可以解决。
一、克隆
分支
例如,从
git
@
git
.qhdsx.com:bitgk/sx-mall.
git
远端仓库克隆 dev
分支
。
##
git
clone -b <
分支
名> <
远程
仓库地址>
git
clone -b dev
git
@
git
.qhdsx.com:bitgeek/sx-mall.
git
二、Fetch
例如,从远端仓库
拉取
dev
分支
到本地。
##
git
fetch origin <
分支
名>
git
fetch or.
如果
分支
已经存在,则将其打开并更新代码
如果
分支
不存在
,请创建它并打开它,然后更新代码
如果使用it checkout -b 命令,如
git
checkout -b foo在foo
分支
上打开(如果
不存在
,它将创建此
分支
),但是如果foo
分支
已经存在,则会引发如下错误:
fatal: A branch named 'foo' already exists.
若成功,将会在本地创建新
分支
feature-haha,并自动切到 feature-haha 上。背景:在
远程
仓库创建了一个
分支
feature-haha,本地
不存在
这个
分支
。
业务需要,要
拉取
其他同事的
分支
代码,
git
branch -r 了一下,发现找不到同事的
分支
,但
git
lab中是有这个
分支
的,就是本地的
远程
分支
列表和
远程
服务器上的
分支
不一致,
git
pull
了好几次,也没解决问题,后来
git
fetch了一下,就好了,后来查了一下
git
fetch,
git
fetch会把
远程
服务器上所有的更新都
拉取
下来,
git
pull
是把
远程
分支
的代码
拉取
下来并合并到本地
分支
2、顺便说下
git
fetch 和
git
pull
的区别,
git
pull
包含
git
fetch和
git
merge,这里是
git
merge不是说不同
分支
名的那个合并,是同
分支
名的,比如test
分支
,执行
git
pull
后得到本地最新的origin/test,然后merge到本地的test
分支
,其实类似于执行
git
merge origin/test 把?是一样的效果,即新增加的
分支
能fetch下来,但是被删掉的
分支
却不能同步删掉本地的origin的。(但不会删除你本地的
分支
feat)
昨天糗大了...进入新公司,公司服务器上有Online为线上版本,开发版本默认的为Master,本地clone的开发版为master,公司用的
git
自动部署(puh后服务器自动更新了代码...这个有很多配置教程,这里就不赘述啦),本地开发
分支
master,一般流程是 合并到online
分支
后,把online push到
远程
分支
....这个是流程OK不说了场景是这样的:本地master执行 che...