Git使用(2)多人协作:与远程仓库之间的沟通

2023-11-14

(简单版本连接到github等服务器)远程和本地都没有分支:
1.git checkout -b newbranch//新建一个newbranch
2.git push origin newbranch
3.git pull origin newbranch//测试是否push成功
分支是为了多人协作时能各自管理各自的版本,如同一个项目下自己的修改版本则可以新建一个分支来管理

一、新建本地仓、远程仓并连接

1.从已有的分支创建新的分支创建一个dev分支并切换到该分支

git checkout -b dev
//或者分为两步:
git branch dev//创建一个分支
git checkout dev//将当前工作线切换到该分支
从远程分支拉取一个分支并新建本地分支对应
git checkout -b 本地分支名x origin/远程分支名x
或:
git fetch origin 远程分支名x:本地分支名x
但后者不能自动切换到该分支,需要手动checkout

2.创建完可以查看一下,分支是否已经切换到dev

git branch
如下显示:
* dev//*表示已经切换过来
master

3.创建远程仓库

(已经在github/bitbucket等上建立仓库则可省略)并将代码推送到远程仓
即建立一个bare仓库:
~/git/my_remote_repostory.git && cd ~/git/my_remote_repostory.git
git init –bare//创建bare仓库
ls//一般应有branches/ config description HEAD等文件或文件夹
mkdir ~/git/local_repository && cd ~/git/local_repository
git init
touch test.txt
git add . && git commit -m “Initial commit”
git remote add origin localhost:/home/yourname/git/remote_repository.git
git push -u origin master//推送成功
//————-分割线3.2————-
git push remote_repo local_branch:remote_branch

4.测试从远程获取dev

git pull origin dev

2.从远程仓复制到本地

获取远程指定分支并在本地新建对应的本地分支

git checkout -b localName origin/remoteName 

3.管理本地和远程分支:

3.1 列出分支情况

git branch
创建新分支:
git branch newbranch
列出本地和远程分支
git branch -a

3.2 更新本地存储的远程分支情况

(久没有涉及某项目时,该项目的其他参与人员可能新建了很多新的branch),因此需要在git branch -a之前先更新记录到本地
git remote update origin –prune

3.3 删除远程分支

git branch -d branch_name 删除本地分支(如果当前所在分支不是删除的分支,则要用git branch -D branch_name)
git branch -r -d branch_name 删除远程分支
(git branch -d -r origin/todo)
1.修改本地分支名:git branch -m oldbranch newbranch
2.删除远程 git push –delete origin devel
3.将本地推送到远程分支:git push origin develop

附录:

1.

如果不自己单独开一个branch,几个人的本地分支同时对应一个远程分支,则需要先* git pull*,将远程与本地版本进行同步,再进行git push更新。因为随着版本更迭,版本时间线是往前走的,如果你的master指针还指向旧的节点,就可能会出现“updates were rejected because the tip of current branch is its remote counterpart.”

2.

在进行上段中的git pull时,可能会出现
“no tracking information”的提示,则意味着远程分支与本地分支没有完全映射好。此时需要先将
将远程仓与本地当前分支联系起来:
git branch –set-upstream-to=origin/dev
此外也可以取消映射,比如:取消对master的跟踪
git branch –unset-upstream master

3 git fetch 与git pull的区别

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin remote_branch:master
取回origin主机的remote_branch分支,与本地的master分支merge
git fetch 之前并不会将远程分支进行合并:
git pull =
1.git fetch origin master:localbranch//将远程master下载到本地
2.git diff tmp
3.git merge tmp

git fetch //取回所有远程分支,等同于 git fetch origin

git fetch origin master//取回远程的master分支
git merge origin/master//取回远程分支master并merge到本地当前分支
等同于:git pull origin master

更改本地仓库对应的远程仓库

git remote -v//列出与远程仓库对应情况
git remote set-url origin git@github.com:*.git(新的路径)
git remote -v//确认本地与远程的对应情况
此外,也可以:
git remote remove origin//删除与远程仓库的联系
git remote add origin git@github.com:*.git(新的路径)//
git remote用法很多,常用的还有:
git remote rename origin origin1//将别名origin改为origin1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git使用(2)多人协作:与远程仓库之间的沟通 的相关文章

  • Django 和 VirtualEnv 开发/部署最佳实践

    只是好奇人们如何结合 virtualenv 部署 Django 项目 更具体地说 如何使生产虚拟环境与开发计算机正确同步 我使用 git 进行 scm 但 git 存储库中没有 virtualenv 我应该这样做 还是最好使用 pip fr
  • Azure Devops Pipeline YAML 中的 Git 标记名称

    Summary 如何获取 Azure Devops Pipeline YAML 文件中当前 git 标签的名称 我想做什么 我正在 Azure Devops 中设置构建管道 创建新的 git 标签时会触发管道 然后我想构建 docker 镜
  • 返回到 Github Desktop 中的上一个提交

    我正在尝试使用 GitHub Desktop 即 GUI 应用程序 而不是命令行 返回到先前的提交 在同一分支上 我认为这是一个核心功能 因为它是首先使用源代码控制的主要原因 我可以看到可以恢复提交 但这并不是我真正想要的 因为它创建了一个
  • 我可以获取两次提交之间 git 子文件夹中已更改文件的列表吗?

    我有一个包含许多文件夹的 git 存储库 我需要找出在两次提交之间这些文件夹之一中的哪些文件发生了更改 有没有一个好的方法来做到这一点 我想你可以坚持走最后的路git diff git diff HEAD HEAD special fold
  • Windows 上的 git 忽略文件名大小写更改 [重复]

    这个问题在这里已经有答案了 我有一个reactjs应用程序 我正在将所有文件名标准化为小写以符合Nodejs 最佳实践 https devcenter heroku com articles node best practices stic
  • 从 Eclipse 的历史视图中删除 ORIG_HEAD 和 FETCH_HEAD

    我最近开始使用 Eclipse Kepler 和 EGit 插件 这些分支不是我习惯的 有没有办法永久阻止这些分支的创建 我尝试手动删除它们 但它不起作用 并且我不想在下次获取或变基时保留它们 据我从对您问题的评论中了解到 您只希望这些参考
  • 如何列出未推送的 Git 提交(本地但不在源上)

    如何查看我所做的 尚未推送到远程存储库的任何本地提交 偶尔 git status将打印出我的分支是X提交之前origin master 但不总是 这是我安装的 Git 的错误 还是我遗漏了什么 这给出了 origin master 和 HE
  • 名称和电子邮件在 Git 的每用户配置文件中设置,但 Git 仍使用默认生成的名称和电子邮件

    标题已经说了 但我会更彻底地解释一下 我已使用以下命令按照建议配置了用户名和电子邮件 git config global user name git config global user email 我可以通过执行以下操作来验证这是设置的g
  • 使用 Git 在线使用 TFS 的 Visual Studio 2013:自动保存文件签入

    我目前正在将 Visual Studio Premium 2013 Update 3 与 Team Foundation Server Online 结合使用并使用 Git 存储库 直到最近 我已经成功使用 Git Repo 几个月了 现在
  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • git tag --contains 如何工作?

    从几天前开始 我一直在尝试确定在哪个版本 由标签指定 中部署了特定修复 由提交指定 这里的一些帖子发布了这一点git tag contains是收集这些信息的方法 但是选项的文档 https git scm com docs git tag
  • 如何摆脱 gerrit 中的错误依赖关系

    看起来 当使用 gerrit 时 默认情况下所有更改都依赖于前一个更改 我不会分支进行新的更改 我只是在主分支上工作 然后将提交的更改推送到远程源 主分支 即使两次提交彼此无关 每次都会创建依赖关系 我遇到了一些问题 这让我认为我没有正确地
  • 如何使用 git 撤消所有空白更改

    我有一个 git 存储库 我在其中本地替换了很多文件 git status 现在显示许多修改的文件 有些是 真正修改过的 其他的只是行结尾不同 我希望那些仅通过行结尾不同的内容消失 git重置它们 但是 我似乎找不到 linux pipin
  • 如何解决git中文件重命名文件夹冲突?

    我有以下问题 我有两个分支 Branch1 和 Branch2 的一些共同提交 A Branch1 是一个公共分支 位于服务器上 Branch2 是本地分支 在 Branch1 中我更改了文件 BAD folder somefile txt
  • git log --oneline 提供在管道或重定向到文件时丢失的 HEAD 信息

    当我执行没有管道或文件重定向的 git log oneline 命令时 它会提供有关 HEAD 位置和分支的信息 下面示例中的 master git log oneline color never 8bc8511 HEAD gt day 2
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul
  • Git 从 Netbeans 推送到 Gerrit

    我在将提交从 Netbeans 7 4 在 Linux 上 推送到 Gerrit 进行审查时遇到问题 我的git配置 core repositoryformatversion 0 filemode true logallrefupdates
  • Subversion 中的版本和项目的良好存储库布局是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们有标准的 Subversion 主干 分支 标签布局 我们有几个针对中长期项目的分支 但到目前为止还没有一个发布版本 这正在快速逼近 我们应
  • 在防火墙后面使用 GitHub,无需 SSH 访问

    我真的很想使用 GitHub 但我的公司一切都被锁定了 现在 我只能通过HTTP协议使用Tortoise SVN 我可以以同样的方式使用 GitHub 吗 如果是这样 怎么办 我认为你一直能够克隆github https github co

随机推荐

  • 基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现

    1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目 基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现 1 协同过滤的算法思想 1 1 基于内容的推荐中不足之处 基于内容的推荐方法用户易于理解 简单有效 但是它的缺点也十分明显
  • 导入QML文档目录

    Importing QML Document Directories 导入QML文档目录 A local directory of QML files can be imported without any additional setup
  • 【1.查看显卡信息2.解决显卡设置不生效问题】

  • Kafka3.0.0版本——消费者(消费者组初始化流程图解)

    一 消费者组初始化流程图解 每个consumer都发送JoinGroup请求 如下图所示 选出一个consumer作为leader 如下图所示 把要消费的topic情况发送给leader 消费者 如下图所示 leader会负责制定消费方案
  • C++ map下标操作[]和insert区别

    在构建map时候 我们是使用insert和 有什么区别呢 哪个更好呢 哪个效率更高呢 哪个更安全呢 首先需要明确的是 map中不允许存在相同的key Because map containers do not allow for dupli
  • conan包管理工具(1)

    conan包管理工具 Conan 是一个开源的 跨平台的 去中心化的 C 包管理器 通过它可以安装 解决构建依赖 更重要的是可以直接集成到 Build System 中使用 同时它也允许你搭建自己的私有仓库 供私有项目使用 具体到细节 当向
  • 使用Node解析EML文件

    文章目录 什么是EML文件 实现EML导入 就这 winmail dat 编码 什么是EML文件 通过的说 电子邮件导出后的文件格式就是 eml文件 比如使用outlook 163邮箱等等电子邮件程序将电子邮件导出后 就可以得到 eml文件
  • 现在人工智能实验报告

    当前 大数据及人工智能成为国际竞争的新焦点 是引领未来的战略性技术 人工智能的发展与实验报告作为提升国家竞争力 维护国家安全的重大战略 格物斯坦表示 加紧出台规划和政策 围绕核心技术 顶尖人才 标准规范等强化部署 力图在新一轮国际科技竞争中
  • Hexo博客搭建(简化版)

    Hexo博客搭建 简化版 一 环境搭建 1 1 Git Git官网 下载界面 gt git version 1 2 Node js 1 2 1 下载安装Node js Node js官网下载界面 gt node version 1 2 2
  • sublime代码自动补全

    html标签自动补全 在preferences sublime settings里面加上 作者 茉花 链接 https www zhihu com question 21628492 answer 131097215 来源 知乎 著作权归作
  • windows系统中docker部署mysql后,使用navicate链接

    一 Windows系统启动docker中mysql 通过docker桌面版启动 二 通过命令行 查看是否开启远程连接授权 依次输入mysql命令 mysql uroot p show databases use mysql show tab
  • 【工具】——VSCODE调试C++时无法显示Vector,map等容器的值

    转载自 VScode调试C 代码时无法查看STL容器 string vector等 原始状态 解决方法 编辑launch json 加入如下设置 setupCommands description Test text python impo
  • error The engine "node" is incompatible with this module. Expected 解决方法

    1 如果是部署在服务器上 看下服务器node版本 版本过低会导致这种问题 2 如果使用构建工具 需要确定构建中的环境node版本 构建中的版本可能跟服务器版本也会有差别 如jekins中有设置node环境的配置
  • 为什么要 API 优先?

    最近关于 API First API优先 作为设计和开发方法的讨论很多 虽然通向 API First 的途径有很多 但通常推动 API First 的一般都是 API 架构师 API 设计师和 API 平台负责人等 很好理解 因为他们对组织
  • 【服务器】将u盘挂载到服务器上并上传文件

    如果想将u盘上的东西上传到服务器 首先需要将u盘挂载到服务器 建议 在执行以下步骤时先别插u盘 更方便看出你的u盘在哪一个区 因为下面的操作需要管理员权限 所以可以直接登录服务器的管理员账号 或者进入自己的账号之后先 sudo xxx 其中
  • WIFI相关的缩写

    SIFS 短帧间间隔简称SIFS Short interframe space 是指用来分隔开属于一次对话的各帧 在这段时间内 一个站应当能够从发送方式切换到接收方式 使用SIFS的帧类型有 ACK帧 CTS帧 由过长的MAC顿分片后的数据
  • Android 宽高相等的adapter item内容

    使用一张网上的图 很多时候 我们需要用使用这样的排列 宽高固定 然后是中间留有一定的边距 毫无疑问 这里我们需要用到gridadapter GridView的item是正方形 而android需要适配不同尺寸的手机 所以不能写死item的高
  • HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计

    web前端开发技术期末大作业 网页规划与制造 做得不深 但是还是满足期末大作业的 分享一下 题目 此次课程设计的题目是网页规划与设计 html css js image video audio 确定每个页面将使用的页面布局技术 如结合使用C
  • 统计机器学习方法简述

    2013 01 28 09 04 分类 机器学习 序 建议阅读的同学要一点概率论和信息论的基础 参考文献的PDF版本我会尽快放在我的服务器上 我也仅仅是研一初学者 非常欢迎大家批评指正 赫尔伯特 西蒙对 学习 这个学习比较抽象 适合人 机器
  • Git使用(2)多人协作:与远程仓库之间的沟通

    简单版本连接到github等服务器 远程和本地都没有分支 1 git checkout b newbranch 新建一个newbranch 2 git push origin newbranch 3 git pull origin newb