• git分布式版本控制系统常用的操作


    Git是一个版本控制系统,用来追踪计算机文件的变化的工具,也是一个供多人使用的协同工具。它是一个分布式的版本控制系统,本文将简单介绍如何使用。简单来说,就是你要和你的伙伴一起完成一项任务,但是你们要互相交换修改,查看自己的历史版本等。版本控制系统就是帮助我们做这个的。

    网上一堆教程,难得讲得清楚的。这里也不废话介绍原理之类的,直接说明如何使用。由于Git是一个分布式文件控制系统,所以一般采用一个服务器方便大家交换修改用的。每个人本地都有一个版本库,保存自己的历史版本,然后每个人可以把自己的修改提交到服务器上,被人就可以获取你的修改了。因此,Git的版本库(Repository)对于每个人来说有两个,一个是远程的,一个是本地的。这篇博客就是描述怎么从远程服务器克隆版本到本地,以及如何分享本地修改到远程的。

    一、从远程仓库中下载到本地

    这个就是说我在远程服务器(或者是GitHub上公开的项目)的有一个项目,并且该项目是放在了类似GitHub的版本控制系统上,例如我们自己在一个远程的Linux上搭建了GitLab服务然后供大家使用(GitHub是免费的公开的项目分享,可以搭建私有的库,但是私有库是收费的,所以一般大家自己有服务器就在自己服务器上安装一个GitLab服务就好了)。现在GitHub或者是我们自己的GitLab上有个项目,并且我们也是有权限访问的,那么这小节介绍的就是如何把远程项目导入到本地。

    1.1、首先打开git的界面(一般git都是用命令操作比较多,安装好git之后,打开git.bash就可以了)之后设置一下全局变量(也就是你访问git时候的用户名和邮箱了),如果是公开的项目可以省略这一步。

    1. git config --global user.name "dufei"

    2. git config --global user.email "dufeizj@163.com"

    1.2、进入你想把项目存到本地的位置,比如我想存到本地D盘的GitTest文件夹中,那就使用Git.bash进入到这个文件夹(没有就创建一个),然后执行"git init"初始化这个文件夹(也就是在这个文件夹下创建一个.git文件夹,将一些配置信息放进来)

    1. cd d:/gittest

    2. git init

    如下图所示

    1.3、找到你想克隆到本地项目的远程仓库地址,例如我想从GitHub上拷贝我的WebTemplate项目到本地,那么就执行git clone命令:git clone 如下图所示

    接下来等一会这个项目就会克隆到本地了。查看一下本地就能看到这个项目了。接下来就可以基于这个项目进行开发了。

    二、将本地已有项目分享到远程仓库中

    这小节就是说你远程已经建立了一个空的仓库,现在需要把本地的某个项目分享到远程的仓库中。

    2.1、打开终端,然后进入你项目所在的目录,执行如下命令,对目录初始化,这样就会在这个项目的文件夹下多了.git文件夹了,和上面类似。

    1. cd d:/gittest/WebTemplate

    2. git init

    2.2、将当前项目下所有的文件添加到本地的git仓库的暂存区(如果只想共享一部分,那就不用.,就把对应的文件或者文件夹列出来就行,这里用add表示将当前文件放到暂存区,其实并没有提交)

    1. git add .

    2.3、接下来提交暂存区文件到本地仓库,使用git commit命令,后面-m表示message,意思是提交本次修改的信息。

    1. git commit -m "inital commit"

    2.4、将本地库与远程库进行关联,这时候假设你在远程库上已经有了一个仓库,比如我的WebTemplate项目的远程地址就是: ,那么关联操作命令如下:

    1. git remote add origin https://github.com/df19900725/WebTemplate.git

    这里git remote表示对远程仓库的操作,origin是远程仓库本体(默认分支名称),add表示将远程的库加入,也就是关联的操作,接下来我们使用git remote -v命令查看关联结果发现已经关联上了:

    1. git remote -v

    如下图所示

    2.5、最后把本地文件进行提交即可

    1. git push origin master

    git push表示提交代码的意思,origin表示远程的分支名称,master表示本地分支名称,上面代码就是说把本地的master分支推送到远程端,操作之后可以在远程看到了。

    三、从远程仓库更新本地文件

    多人协作开发的时候,每次开发前第一步是从远程将别人提交的修改更新到本地,因为如果你不更新直接编程会导致自己的版本号比远程新,特别容易造成冲突。所以一般先更新再提交修改。从远程更新时候第一步先查看一下远程的分支情况,然后将指定的分支更新到本地。

    3.1、查看远程分支

    1. git remote -v

    如下图所示

    我们看到远程只有一个origin分支,那么我们直接根据这个更新就可以了。

    3.2、将远程修改更新到本地

    git fetch origin master

    前面说过origin是远程仓库分支,master是本地分支,所以这个命令就是将远程分支更新到本地。

    3.3、合并远程与本地

    1. git merge origin/master

    远程修改更新到本地之后要做merge操作才能看到最终修改。

    当然git fetch -> git merge 操作可以使用git pull代替。这样只要执行一步就好了。

    git pull

    四、将本地修改提交到远程

    提交本地修改到远程三步,第一步是add文件,表示要提交修改的文件,第二步commit代码到暂存区,第三步push代码到远程仓库,其实在第一小节我们已经说过了。

    1. git add README.md

    2. git commit README.md 'test'

    3. git push origin master

    如果是提交GitHub之类的可能还要用户名密码登录:

     

    要保持着对知识的渴求,给自己充电,不要这荒废了短暂的时光;
  • 相关阅读:
    BZOJ4416 [Shoi2013]阶乘字符串 【序列自动机 + 状压dp】
    BZOJ2159 Crash 的文明世界 【第二类斯特林数 + 树形dp】
    快速求原根
    BZOJ2530 [Poi2011]Party 【贪心】
    BZOJ2213 [Poi2011]Difference 【乱搞】
    BZOJ2276 [Poi2011]Temperature 【单调队列】
    多项式除法
    loj2538 「PKUWC2018」Slay the Spire 【dp】
    loj2537 「PKUWC2018」Minimax 【概率 + 线段树合并】
    Java多线程之线程的暂停
  • 原文地址:https://www.cnblogs.com/activecode/p/9418692.html
Copyright © 2020-2023  润新知