七拉取代码

Posted 油菜花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七拉取代码相关的知识,希望对你有一定的参考价值。

七、拉取代码

1. git clone

git clone顾名思义就是将其他仓库克隆到本地,包括被clone仓库的版本变化。举个例子,你当前目录比方说是在e:/course/中,此时若想下载远程仓库,本地无需**git init,直接git clone url(url是你远程仓库的地址,直接复制就可以了)。执行git clone等待clone结束,e:/course/目录下自动会有一个.git的隐藏文件夹(如果看不见,请尝试设置隐藏文件夹可见),因为是clone来的,所以.git文件夹里存放着与远程仓库一模一样的版本库记录。clone操作是一个从无到有的克隆**操作,再次强调不需要git init初始化。

git clone的用法:

git clone <版本库的url>


git clone https://gitee.com/pythonyuan/apple-pro.git

或者使用SSH协议:

git clone git@gitee.com:pythonyuan/apple-pro.git

这样就会在本地生成一个目录,该目录与远程仓库同名。

However,如果本地目录不想与远程仓库同名怎么办??也有办法,将目录名作为git clone命令的第二个参数:

git clone <版本库的网址> <本地目录名>

2. git fetch 更新远程代码到本地仓库

理解 fetch 的关键, 是理解 FETCH_HEAD,FETCH_HEAD指的是: 某个branch在服务器上的最新状态’。这个列表保存在 .Git/FETCH_HEAD 文件中, 其中每一行对应于远程服务器的一个分支。当前分支指向的FETCH_HEAD, 就是这个文件第一行对应的那个分支. 一般来说, 存在两种情况:

  • 如果没有显式的指定远程分支, 则远程分支的master将作为默认的FETCH_HEAD
  • 如果指定了远程分支, 就将这个远程分支作为FETCH_HEAD

git fetch更新本地仓库的两种用法:

# 方法一
$ git fetch origin master                # 从远程的origin仓库的master分支下载代码到本地的origin maste
$ git log -p master.. origin/master      # 比较本地的仓库和远程参考的区别
$ git merge origin/master                # 把远程下载下来的代码合并到本地仓库,远程的和本地的合并
# 方法二
$ git fetch origin master:temp           # 从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp                          # 比较master分支和temp分支的不同
$ git merge temp                         # 合并temp分支到master分支
$ git branch -d temp                     # 删除temp

3. git pull

git pull是拉取远程分支更新到本地仓库的操作。比如远程仓库里的学习资料有了新内容,需要把新内容下载下来的时候,就可以使用git pull命令。事实上,git pull是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)。   即:git pull = git fetch + git merge

注:git fetch不会进行合并,执行后需要手动执行git merge合并,而git pull拉取远程分之后直接与本地分支进行合并。更准确地说,git pull是使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。

git pull的用法:

git pull <远程主机名> <远程分支名>:<本地分支名>

举例:将远程主机origin的master分支拉取过来,与本地的branchtest分支合并。

$ git pull origin master:branchtest

如果将冒号和后面的branchtest去掉,则表示将远程origin仓库的master分支拉取下来与本地当前分支合并。以上的git pull操作如果用git fetch来表示:

$ git fetch origin master:brantest
$ git merge brantest
相比起来,git fetch更安全也更符合实际要求,因为可以在merge前,我们可以查看更新情况,根据实际情况再决定是否合并。

 

git 拉取远程代码

git 拉取远程代码 || 利用vscode编辑器自带了git,可在ctrl+~打开控制台拉取代码,非常好用哦~
在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git,能够上传和下拉最新代码。
模拟小白需求:

第一步:拉取远程代码
git clone https://github.com/…/PrettyGirls.git

技术图片

 


第二步:查看本地分支和远程分支
1、cd PrettyGirls 到工程目录下;
2、git branch -al 查看本地和远程的所有分支。

技术图片

 



这里成功看到了所有的分支:其中master是本地分支,前面的星号*表示正在使用的分支
前面带有remotes的分支都是远程分支。

第三步、将远程分支与本地分支进行关联
1、git pull origin master
(如果你想拉到本地的dev分支上,首先git checkout -b dev,然后使用git pull origin dev,这样就将本地dev分支与远程origin/dev相绑定了)

技术图片

 


这个命令是将本地分支与远程分支进行关联,并且将远程分支origin拉到本地分支master下
如果远程分支origin下还有子分支1.0.0.1,则使用git pull origin/1.0.0.1 master 这样就是将本地的master分支与远程的origin/1.0.0.1进行了绑定

2、git branch -vv
可以看到master后面蓝色部分origin/master,说明master分支已经与origin/master绑定在一起了。
3、已经关联好了的代码,直接输入git pull 就可以同步了

第四步、上传本地代码到远程分支上
1、git add ./abc.txt
加入你已经修改本地文件acb.txt这里是相对路径
2、git commit
使用git commit 就是将这个txt文件上传到本地分支上
3、git push
这个命令的结果就是将本地分支master中commit的数据abc.txt上传到了远程绑定的master分支上了。

技术图片

 

 

这里我创建了新的文件abc.txt,然后add,commit 添加备注 “abc”。
然后我使用git push 命令将其发送到远程master上
现在查看下我现在的分支

技术图片

 

 

注意:这里如果没有master绑定到远程的分支,就必须使用git push origin master :master
git push <远程主机名> <本地分支名>:<远程分支名>

第五步、看下远程代码

可以看到已经存在abc.txt了


原文:https://blog.csdn.net/weijinqian0/article/details/76217014

以上是关于七拉取代码的主要内容,如果未能解决你的问题,请参考以下文章

国内gitlab拉取代码很慢

Git 拉取远程代码

git拉取最新的代码到本地需要启服务么

idea怎么拉取git代码

拉取github指定分支上的代码

idea怎么每天拉取最新代码