1 远程有多个分支 有master,dev,test。。。。
那么我们在clone的使用默认是把master分支的代码拿到了本地,并和本地的master建立管理,现在在实际的开发中,我们需要把本地的代码提交到dev分支并和dev的代码保持一致,那么我们就需要在本地创建一个dev的分支,然后和远程dev的分支建立联系,具体步骤如下
1. 克隆代码git clone https://github.com/****.git
##git clone默认会把远程仓库整个给clone下来,但只会在本地默认创建一个master分支。要想单独clone某一分支请往后看
git branch --all
* dev -- 我事先已经创建了dev 并切换到dev分支
master -- 本地maste
remotes/origin/HEAD -> origin/master -- 远程maste
remotes/origin/dev-consumer -- 远程开发分支
2. 单独clone某一分支(默认是origin/master---->master 现在咱们把origin/dev-consumer和dev关联)
git checkout -b dev origin/dev-consumer
-b dev表示在本地新建一个叫dev的分支,与远程的origin/dev-consumer对应。
注意:如果在执行git checkout的时候出现了 切换分支的报错(默认在master分支,现在要切换到dev)
问题如下:
分支切换error: The following untracked working tree files would be overwritten by checkout
通过错误提示可知,是由于一些untracked working tree files引起的问题。所以只要解决了这些untracked的文件就能解决这个问题。
解决方式:
打开SourceTree通过命令行,进入本地版本仓库目录下,直接执行git clean -d -fx即可。可能很多人都不明白-d,-fx到底是啥意思,其实git clean -d -fx表示:删除 一些 没有 git add 的 文件;
git clean 参数
-n 显示将要删除的文件和目录;
-x -----删除忽略文件已经对git来说不识别的文件
-d -----删除未被添加到git的路径中的文件
-f -----强制运行
git clean -n
git clean -df
git clean -f
-----------------------------------------------------------
上面是对问题的描述,只要在进入本地版本仓库目录下,直接执行git clean -d -fx即可。