git拉取远程分支到本地(VScode)

git拉取远程分支到本地(VScode),第1张

一、怎么样查看本地分支

1、如果你使用的是vscode可以直接查看

2、使用git命令查看本地分支

git branch 

二、查看远程分支

1、使用如下git命令查看所有远程分支:

git branch -r

2、查看远程和本地所有分支:

git branch -a

三、拉取远程分支创建本地分支

1、使用如下命令:

git checkout -b 本地分支名x origin/远程分支名x

使用该方式会在本地新建分支x,并自动切换到该本地分支x。

采用此种方法建立的本地分支会和远程分支建立映射关系。

例如,你想要更新的远程分支是feature/110

那么你的命令就是

git checkout -b feature/110  origin/feature/110

Git中从远程的分支获取最新的版本到本地有这样2个命令:

1 git fetch:相当于是从远程获取最新版本到本地,不会自动merge

Git fetch origin master

git log -p masterorigin/master

git merge origin/master

以上命令的含义:

首先从远程的origin的master主分支下载最新的版本到origin/master分支上

然后比较本地的master分支和origin/master分支的差别

最后进行合并

上述过程其实可以用以下更清晰的方式来进行:

git fetch origin master:tmp

git diff tmp

git merge tmp

从远程获取最新的版本到本地的test分支上

之后再进行比较合并

2 git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master

上述命令其实相当于git fetch 和 git merge

在实际使用中,git fetch更安全一些

因为在merge前,我们可以查看更新情况,然后再决定是否合并结束

公司的开发从SVN切换到Git,在SVN下,可以很方便的只获取版本库中一个或多个目录的内容,但是Git的克隆,默认是直接拉取整个远程仓库,如果项目比较大,大量和自己无关的内容也会拉到本地,占用很多硬盘空间。

在网上搜了一下,Git在17版本后,已经支持只Checkout部分内容,这个功能叫做 sparse checkout(稀疏检出)。

git config coresparsecheckout true

echo "BATInterview" >> git/info/sparse-checkout

只拉取BATInterview文件夹

此时会在sparse-checkout文件中追加

如果以后修改了 git/info/sparse-checkout,增加或删除部分目录,可以执行如下命令重新Checkout

$ git checkout master

或执行以下命令:

$ git read-tree -mu HEAD

仅仅修改设置,将coresparsecheckout设为false是不生效的,需要修改 git/info/sparse-checkout 文件,用一个”“号替代其中的内容,然后执行 checkout 或 read-tree 命令。

如果只拉取最近一次的变更,忽略以前的变更记录,在拉取时可以加参数depth,如git pull --depth=1 origin master

如果本地已经建了版本库,要使用这个功能,可以进入版本库的目录,执行以下命令

子目录的匹配在 sparse-checkout 文件中,如果目录名称前带斜杠,如/docs/

,将只匹配项目根目录下的docs目录,如果目录名称前不带斜杠,如docs/

,其他目录下如果也有这个名称的目录,如test/docs/

也能被匹配。而如果写了多级目录,如docs/05/

,则不管前面是否带有斜杠,都只匹配项目根目录下的目录,如test/docs/05/

不能被匹配。

通配符 “ “ (星号)在 sparse-checkout 文件中,支持通配符 “ “,如可以写成以下格式:

“!” (感叹号)在 sparse-checkout 文件中,也支持排除项 “!”,如只想排除排除项目下的 “docs” 目录,可以按如下格式写:

很像 gitignore的写法

要注意一点:如果要关闭sparsecheckout功能,全取整个项目库,可以写一个” “号,但如果有排除项,必须写”/ “,同时排除项要写在通配符后面。

参考: >

假如目前远端有3个分支 master,develop,develop_01

假如想基于devlop_01拉取一个新的分支develop_02有两种方法

1 git checkout devlop_01

2 git pull

3git checkout -b devlop_02

4git push origin devlop_02

也可以通过branch创建分支

1git checkout devlop_01

2git branch devlop_02

3git push origin devlop_02

安装git,不同系统安装命令不同

apt-get install git

yum install git

pkg install git

本地创建仓库,在需要的目录执行命令

git init

不执行这个,会找不到本地仓库位置,拉取了也找不到仓库存放。

拉取仓库的代码

git pull 远程仓库地址

发送代码到远程有点复杂,不过也挺简单

发送代码的时候,本地仓库里的代码必须和远程仓库里的代码一样,因为如果不一样,那就乱套了,所以要先拉取,覆盖到本地仓库,用网页在远程仓库新增或修改文件后,需要拉取代码覆盖本地没修改的,否则远程仓库拒绝接受。

添加要发送的文件

git add 文件名称

(git add )代表添加所有文件

添加要上传的文件之后,必须要给文件注释,否则远程仓库拒绝接收。

git commit -m "对文件的解释信息"

最后就可以发送了

git push 远程仓库地址 分支名

弄了2天才弄懂,790431300githubio

在有些时候,我们往往从github或者gitlab或者coding上面直接下载项目下来运行,但是这种情况往往没有使用git远程拉取来的安全(或者叫装逼),

所以这里我以gitLab为例子,说一下如何将远程服务器上的代码拉取到本地

首先,你得安装好git的软件 可以从网上获取

安装教程点击链接:git安装教程

安装好后,打开你的远程仓库的网站,当然你得发现你的项目组或者找到开源项目的东东

比如我的 gitlab:

然后随便打开一个项目,复制SSH链接:

接下来就可以开始在黑框里面搞了:

打开刚刚下载的  

在某个本地位置建一个文件夹来放你的项目文件:

然后使用gitbash进入这个文件夹:

然后使用git命令以及刚才复制的ssh链接:

大功告成!!看一下你的本地文件夹有东西吗

tag是对历史一个提交id的引用,如果理解这句话就明白了

使用git checkout tag即可切换到指定tag,例如:git checkout v010

切换到tag历史记录会处在分离头指针状态,这个是的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b tset v010 这个时候就会在分支上进行开发,之后可以切换到主线合并

进入工程的repo/manifests git库。

ls –l tagname 如果发现有tagname文件,执行如下下载命令:

命令格式:repo init –u remoutepaht –b branch –m tagname

例子:repo init -u ssh://gitserver –m tagname --no-repo-verify --repo-branch=stable

c) ls –l tagname 如果未发现有tagname文件,执行git tag –l | grep tagname,如果找到tagname,执行如下下载命令。

git checkout tagname defaultxml

repo sync

指定分支是远程分支吗?

如果指定分支是远程分支,那么可以执行的 *** 作是:

本地可以直接基于远程分支来新建一个分支,并切换到新分支上去。

git checkout -b 本地新分支名字 origin/远程分支名字

然后执行:

git pull

就行了。你就可以在新分支上进行代码开发了。

望采纳!

以上就是关于git拉取远程分支到本地(VScode)全部的内容,包括:git拉取远程分支到本地(VScode)、git拉取远程分支的两种方法有什么区别、Git只获取部分目录的内容(稀疏检出)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9292751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存