热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学习笔记——git从远程仓库拉取代码修改并提交和本地代码提交到远程仓库

最近开始学习使用git,找了好多博主的文章总结了一下,并非原创多多指教。一、git从远程仓库拉取代码修改并提交1、本地新建项目目录2、从远程仓库拉

最近开始学习使用git,找了好多博主的文章总结了一下,并非原创


多多指教。


一、git从远程仓库拉取代码修改并提交


1、本地新建项目目录


2、从远程仓库拉取代码到本地

git  clone  git[@xxx/xxx.git]  //注:默认拉取的是master的分支上的代码
git  clone  git[@xxx/xxx.git] -b 分支名

//若分支不对,需要切换分支git remove -v    //查看远程仓库地址否错误git branch -al    //查看本地和远程仓库的所有分支(master是本地分支,*表示当前正在使用的分支)//若报错找不到路径输入git initgit branch -vv    //查看分支是否绑定git checkout [分支名字]  //切换到正确分支,开始拉代码

3、将本地仓库关联远程仓库,可以关联多个远程

//初始化git init
//关联远程仓库地址git remote add origin [git@xxx/xxx.git]
//取消或取消与远程仓库的连接git remote remove origin
// 初始化git init
//连接新的远程仓库地址git remote add origin [url]
//查看关联了那些远程仓库git remove -v

4、从远程分支拉取最新代码合并到本地分支

第一种方法

1、git pull origin master //不推荐这种方式,因为是直接合并的,无法提前处理冲突。/*
origin为远程主机名称,develop为远程分支名称,可以在.git文件夹下的config下找到 这个命令是将本地分支与远程分支进行关联,并且将远程分支origin拉到本地分支master下 如果远程分支origin下还有子分支1.0.0.1,则使用git pull origin/1.0.0.1 master 这样就是将本地的master分支与远程的origin/1.0.0.1进行了绑定 ​ 如果你想拉到本地的dev分支上,首先git checkout -b dev(切换分支),然后使用git pull origin dev,这样就将地dev分支与远程origin/dev相绑定了2、git branch -vv可以看到master后面蓝色部分origin/master,说明master分支已经与origin/master绑定在一起了。​
3、这里如果没有master绑定到远程的分支&#xff0c;就必须使用:git push origin master :master git push <远程主机名> <本地分支名>:<远程分支名>
*/

第二种方法

//查询当前远程的版本
$ git remote -v
//获取最新代码到本地
$ git fetch origin master [示例1&#xff1a;获取远端的origin/master分支]
$ git fetch origin dev [示例2&#xff1a;获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1&#xff1a;查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev   [示例2&#xff1a;查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master [示例1&#xff1a;合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2&#xff1a;合并远端分支origin/dev到当前分支]​/*
注&#xff1a;
git pull和git fetch的区别git pull(拉取) 即从远程仓库抓取本地没有的修改并【自动合并】到远程分支     git pull origin master

git fetch(提取) 从远程获取最新版本到本地不会自动合并   git fetch origin master  
*/

5、提交代码

//先查看状态&#xff0c;是否有改动git status
//把更新的代码添加到暂存区git add [xxx]  //xxx为文件名&#xff0c;
/*
git add . 会把本地所有untrack的文件都加入暂存区&#xff0c;并且会根据.gitignore做过滤。
git add * 会忽略.gitignore把任何文件都加入。
*/
//将暂存区的更新提交到仓库区。git commit -m "【更新】更新说明"
//先git pull,拉取远程仓库所有分支更新并合并到本地git pull
//将本地分支的更新全部推送到远程仓库。git push origin master
//再次查看状态&#xff0c;看是否还有文件没推送git status

二、使用git将本地文件提交到远程仓库

操作准备条件&#xff1a;

git远程仓库已经建好了&#xff0c;本地文件已经存在了&#xff0c;现在要将本地代码推到git远程仓库保存。

解决办法如下&#xff1a;

1、&#xff08;先进入项目文件夹&#xff09;通过命令 git init 把这个目录变成git可以管理的仓库

git init

2、把文件添加到版本库中&#xff0c;使用命令 git add .添加到暂存区里面去&#xff0c;不要忘记后面的小数点“.”&#xff0c;意为添加文件夹下的所有文件 git add .

3、用命令 git commit告诉Git&#xff0c;把文件提交到仓库。引号内为提交说明&#xff1a;git commit -m &#39;first commit&#39;

4、关联到远程库 git remote add origin 你的远程库地址

5、获取远程库与本地同步合并&#xff08;如果远程库不为空必须做这一步&#xff0c;否则后面的提交会失败&#xff09; git pull --rebase origin master

6、把本地库的内容推送到远程&#xff0c;使用 git push命令&#xff0c;实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码&#xff0c;验证通过后即开始上传。 git push -u origin master

&#xff1a;-u选项执行以下操作&#xff1a;对于每个最新或成功推送的分支&#xff0c;添加上游&#xff08;跟踪&#xff09;引用&#xff0c;由无参数的git-pull和其他命令使用。

所以&#xff0c;在用-u选项推送本地分支之后&#xff0c;这个本地分支会自动链接到远程分支&#xff0c;并且可以使用没有任何参数的git pull。

附&#xff1a;

 


推荐阅读
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • 如何在vscode中使用GitLab我同广大码友们一样,好不容易赶上了个节假日,回到家一顿安排,可屁股还没坐热就接到线上紧急BUG需要修复 ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • 本文介绍了在git中如何对指定的commit id打标签,并解决了忘记打标签的问题。通过查找历史提交的commit id,可以在任意时间点打上标签。同时,还介绍了git中的一些常用命令和操作。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 修正我的GitHub commit 数据
    早晨上班,滴滴搭车里,我在掘金这个帖子看到大家晒自己的Github活跃记录,我也晒了下自己的记录。不过太少了。有遗漏的commits状况这也让我知道,自己觉得自己很忙的,实际上提交 ... [详细]
  • 1.码云上根据需求创建项目;2.进入项目——克隆下载 选择复制SSH3.clone码云上的项目到本地:在相关目录(如A)下运行终端,执行指令:gitclone复制的SSH地址;  ... [详细]
  • 使用npmi编译vue项目出现无法下载github.com中的对应的包源文件报错信息如下:npmERR!fatal:unabletoaccess'https:github ... [详细]
  • git向远程仓库提交遇到的各种坑
    **码云***gitinit初始化本地仓库gitinit*gitremoteaddorigingitgithub.com:xueqinngchennLocal-agent.git将 ... [详细]
  • [由零开始]2020年最新 如何在Idea中编译构建Springframework5.1.x 的源码
    构建Spring-framework-5.1.x的源码第一步:首先前往世界上最大的同性交友网站gayHab上去下载spring源码:下载地址ÿ ... [详细]
author-avatar
顺丰-03_457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有