环境:

test_git 目录下有个my-project 版本库

所有命令都在test_git目录下执行

本地协同操作

从远端仓库检出代码,或者克隆一个已有的版本库

  • 拷贝一个已有的仓库

    #格式: git clone 目标文件 文件
    git clone ./my-project ./my-project-copy
  • 将原版本库中的新提交传递给克隆版本库

    #1.修改原版本库中的文件并执行add,commit操作
    git pull #2.在原版本库中执行
    git pull #3.在克隆版本库中执行
    # 现在两个版本库的代码就一致了
  • 将克隆版本库中的修改pull到原版本库中

    #1.修改克隆版本库中的文件并执行add,commit操作
    git pull #2.克隆版本库中执行
    git pull ../my-project-copy master #3.在克隆版本库中执行,取回修改
    # 现在两个版本库的代码就一致了
    • 因为克隆库存储了原始库的信息所以执行pull命令时可以不加参数,而原始库没有克隆库的信息,所以执行pull命令要加克隆库的信息
    • pull : 从其它库里获取提交
  • 在共享库中提交和获取代码

    把变更的代码提交到共享版本库中供其它仓库pull

    • 创建共享版本库
    git clone --bare ./my-project #创建一个裸奔仓库
    #执行完会生成一个名为 our-project.git共享库
    #1.目标仓库修改文件并执行add commit操作
    #2.向共享仓库push代码
    git push ..\your-project.git\ master
    #3.在另一个仓库中pull共享版本库的代码
    git pull ..\your-project.git\ master

远端协同操作

与中央仓库交互

  • 从远端检出代码:

    #格式 git clone 路径
    git clone git@github.com:liuyanqing1023/xcEduService.git
  • 向中央仓库提交代码:

    git push #向中心仓库push代码
  • 从中央仓库获取代码:

    git pull

小结

  • 工作区与版本库: 工作区是一个包含.git子目录(内含版本库)中的目录。我们可以用init命令在当前目录中创建版本库。
  • 版本提交: 一次版本提交通常定义了版本库中所有文件的一个版本,它详细说明了该版本是由何人在何时何地创建的。当然,我们需要用add命令来确定哪些文件将被纳入下一次提交,然后再用commit命令创建新的版本提交。
  • 查看信息: 通过status命令,我们可以查看哪些文件已被本地修改,以及哪些修改将被纳入下次提交。另外, log命令可用来显示提交历史。dirr命令可用来显示两个版本文件之间的差异。
  • 克隆: 对于用clone命令创建某一个版本库的副本,我们称之为该版本库的克隆体。在一般情况下,每个开发者都会拥有整个项目版本库的完整克隆体,他/她的工作区中将会包含完整的项目历史。这使他们可以各自独立开展工作,无需连接服务器。
  • 主送与拉回: push与pull命令可用于在本地和远程版本库之间共享版本提交

**** 码字不易如果对你有帮助请给个关注****

**** 爱技术爱生活 QQ群: 894109590****

从0开始学Git——Git的协同操作的更多相关文章

  1. Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码

    前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...

  2. BladeX 2.0.7.RELEASE版本git后,在idea中导入项目,结果无法运行FlowApplication等几个服务的错误

    问题:2.0.7.RELEASE版本git后,在Intellij IDEA运行项目,结果无法运行FlowApplication等几个服务的错误 描述:打开IDEA,点击Check out from V ...

  3. Visual Studio C# 利用git和github协同开发时产生冲突的解决办

    Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...

  4. Git(2)多人协同操作冲突

    一:多人协同操作冲突 拉取远程dev并在本地创建dev开发库,执行命令git checkout -b  dev  origin/dev  这里以同台机器不同窗口来模拟俩个用户操作同一分支同一文件(实际 ...

  5. git命令与协同开发

    一 git命令 1.简单命令 git init # 初始化 (建立git 版本相关文件关系都放这里) git config --global user.email "you@example. ...

  6. 如何从 0 开始学 ruby on rails (漫步版)

    如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对  rails 感兴 ...

  7. 如何从 0 开始学 Ruby on Rails

    如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣, ...

  8. [skill][git] git 常用操作记录

    傻瓜入门: step by step : https://try.github.io/levels/1/challenges/1 一本书: https://git-scm.com/book/en/v2 ...

  9. git中通过实际操作来了解常用命令

    基本的6个命令 常用的就下面6个命令,但是详细的可能有上百个命令. 还需要特别了解git的几个名词,workspace:工作区,Index/Stage:暂存区,Respository:本地仓库,Rem ...

随机推荐

  1. iOS程序员如何提升核心竞争力,防止自己被裁员?

    前言: 核心竞争力最早由普拉哈拉德和加里·哈默尔两位教授提出,通常认为核心竞争力,即企业或个人相较于竞争对手而言所具备的竞争优势与核心能力差异,说白了就是你的优势,而且最好是独一无二的的优势,这就是核 ...

  2. java练习---5

    //程序员:罗元昊  2017.9.17 package demo;import java.util.Scanner;public class Ly { public static void main ...

  3. mysql协议分析1---报文的格式和基本类型

    navicat 和 mysql 是一对好基友,每天都有非常频繁的交流,主人在navicat上写下每条sql语句,轻轻的点了下执行按钮,navicat就飞快的把主人的指令传送到mysql那里,mysql ...

  4. Codeforces Round #565 (Div. 3)

    传送门 A. Divide it! •题意 给定一个数n, 每次可以进行下列一种操作 1.如果n可以被2整除,用n/2代替n 2.如果n可以被3整除,用2n/3代替n 3.如果n可以被5整除,用4n/ ...

  5. Spring Boot @Condition 注解,组合条件你知道吗

    上一篇文章 你应该知道的 @ConfigurationProperties 注解的使用姿势,这一篇就够了 介绍了如何通过 @ConfigurationProperties 注解灵活读取配置属性,这篇文 ...

  6. Git/Github使用方法小记

    今天把人间网的桌面客户端renjian-deck正式开源了,之前对javascript的了解其实非常的不够的,所以这一次的代码写的也是乱七八糟重用性及其低下,虽然我无数次的想把代码重新整理一下,不过还 ...

  7. 【转载】C/C++中long long与__int64的区别

    在C99标准(详情请猛击:C语言的发展及其版本)中,增加了对64位长整型数据的支持,它的类型就是 long long,占用8个字节. 由于C99标准发布较晚,一些较老的C/C++编译器不支持,新编译器 ...

  8. Python实现网络多人聊天室

    网络多人聊天室 文件结构: chatroom ├── client.py  # 客户端代码 ├── language.py  # 语言文件 ├── server.py  # 服务端代码 └── set ...

  9. 【JDK】JDK源码分析-AbstractQueuedSynchronizer(1)

    概述 前文「JDK源码分析-Lock&Condition」简要分析了 Lock 接口,它在 JDK 中的实现类主要是 ReentrantLock (可译为“重入锁”).ReentrantLoc ...

  10. solidity智能合约字节数最大值及缩减字节数

    智能合约最大字节数 在Solidity中,EIP 170将contract的最大大小限制为24 KB .因此,如果智能合约内容过多,会导致无法进行发布操作. 减少压缩字节数方法 方法及变量命名 在一定 ...