zoukankan      html  css  js  c++  java
  • Git使用

    标题:Git使用

    作者:YangZheng

    联系方式:263693992@qq.com

    Git是分布式版本控制系统。

    1 git与github账号关联

    获取本地git的SSH秘钥,这个是本地git被允许push,pull操作的认证,需要在github账号的SSH管理list中添加:

    clip_image002clip_image004

    一个github账户可以关联多个SSH秘钥,但是注意一个秘钥同一时间必须只能与一个github账户相关联,这意味着如果你的秘钥在另外的github账号上登记了,你必须把之前的删除掉才能添加,不然会提示:

    clip_image006

    那么怎样获取获取本地git的SSH秘钥呢?

    方法一:在git GUI窗口点击

    clip_image008

    在秘钥窗口点击 Generate Key然后就会生成SSH秘钥(估计秘钥是硬件绑定的),如下

    clip_image010

    将这段秘钥复制到github中,点击Add SSH Key:

    clip_image012

    对了,为了能够上传代码,我们还得做一件事,那就是本地git“我们是谁”,即告诉git我们的github账号,密码,这样就不必每次提交代码都要求输入密码。

    本地登记git服务器账户密码

    【Step1-添加环境变量】

    我的电脑 - 属性 - 高级系统设置 - 环境变量 - 新建变量

    变量名HOME,变量值%USERPROFILE%

    clip_image014clip_image015clip_image017clip_image018

    Step2-创建账号文件】

    开始 - 运行中打开%Home%,即windows的管理员账号文件夹。

    新建一个名为"_netrc"的文件,填写你要保存的服务器地址及账号密码,保存。

    clip_image020clip_image021

    2 部分基本操作

    2.1 初始化(Git init)

    顾名思义,就是新建一个项目,跟你用PS新建一张画布一样。在你新建好的文件夹中右键创建即可,若点击Git bash则以此目录作为当前目录进入命令行状态。

    这个初始化一般用于新建一个工程项目并作为master节点时使用

    clip_image022

    2.2 添加(Git add)

    添加并不是提交代码到远程Git库,Git也并不会你修改了代码它自动帮你保存你修改的每一个过程。你修改了很多文件,但未必所有的修改,最终打算提交上去,那么哪些是你打算提交的,你可以添加进来待会提交,叫做缓存改动。很简单,比如本地电脑上我有整个项目完整的东东,甚至包含了账号密码的一些文件,但是我只是ADD除账号密码之外的文件,并不缓存账号密码文件的改动。不被ADD它就不会参与后续的操作。通常我都会直接全部缓存,它会自动寻找所有有改动的文件,而不需要提交的文件放在忽略的文件夹中。(关于忽略下面我们就会说到)

    clip_image023

    2.3 忽略(.gitignore)

    但实际上大部分我们的文件都是一起提交的,并不会逐一去甄选,又或者类似PSD这样的大源文件以及并不作为产品最终展示的过渡文件,我们可以统一放在临时文件夹中,并忽略此文件夹。

    clip_image024

    2.4 提交(Git commit)

    提交则代表此前被添加ADD的文件已确认被提交到Git库了。需要注意的是,如果你改变代码的缩进(尽管没有修改内容),默认状态下会被识别为整个代码全部变更。提交的时候是要求必须要写备注的

    clip_image025

    2.5 上传(Git push)

    顾名思义,上传则是上至远端服务器了

    clip_image026

    注意,在上传前要确定你要上传到那个git库,在github中这个库的地址:

    clip_image028

    最好选择Clone with SSH地址,用有更多权限。

    2.6 远端操作(remote)

    当需要和他人合作编写代码需要在异地同步代码,及使用此功能

    为了获取已有项目的克隆,我们需要打开git GUI ,选择克隆已有版本库

    clip_image030

    clip_image032

    点击克隆,就会将github上的项目克隆到本地,注意,一些项目可能有很多很多文件和节点,不可能全部都下载下来,一般默认下载master节点的文件,并会将所有节点的索引下载下来,用户需要同步那个节点自行选择,比如点击合并:(方法一)

    clip_image034

    在跟踪分支选项中,列出了项目所有的分支节点,选择合并其中一个,这样本地项目就完美克隆了某一个分支的全部代码,一些大型项目需要多人参与开发,这样不同的人负责不同分支(低耦合的模块)的开发可以加快项目进度也利于管理。

    clip_image036

    上密案这种方法其实不推荐,因为克隆默认同步的时master节点的文件,如果我们直接选择合并,则会使得本地的master变成之前的master节点+所选节点的合并,这样当我们想要上传修改后的代码时就会发现,我们只能上传到mater,除非我们改名和某个节点相同。或者采用方法二克隆节点:

    首先新建一个节点

    clip_image038

    然后节点名直接选择,匹配跟踪分支名字,这样可以直接保证分支名称和内容和github上一致,且不会默认克隆的master节点的文件

    clip_image040

    这样的话,本地就同时拥有两个分支节点了(master分支和liu分支),当我们查看其中一个时,可以在节点选项中选择checkout

    clip_image042clip_image043

    切换哪个活动分支(双击进行切换),则项目目录中就显示其工程文件,互不干扰影响。(因为git的本质不是存储文件而是存储用户在项目中做的修改,包括增删改操作)

    当我们修改代码后,要上传代码可以点击远端选项的上传

    clip_image045

    由于本地现在有两个分支所以,可以上传的分支有两个。一般情况用户最好只上传更新自己维护的节点,以免破坏其他人维护的节点,当然每个人应该要有相应的访问权限,只能修改或访问自己权限范围内的文件

    clip_image046

    另外,当多人合作开发一个节点时,你可能需要获取别人修改后的代码再进行二次开发,此时需要remote操作

    clip_image048

    然后合并到自己的本地分支中,注意你当前切换的活动分支是什么就应该合并选那个分支,如果贸然去合并其他分支(操作的含义是将其他分支合并到当前分支)可能会产生合并冲突,如果合并出错,则要及时终止合并恢复之间的分支状态,而如果列表中没有你要的分支说明没有跟新。

    clip_image050clip_image052

  • 相关阅读:
    mongodb性能测试:long时间戳与string格式时间
    .netcore mongodb 分页+模糊查询+多条件查询
    .netcore 图片处理
    ELEMENT-UI 封装el-table 局部刷新row
    vue-upload 封装组件-上传组件
    vue实现v-model父子组件间的双向通信
    cc.AudioSource
    Chrome插件:本地程序实现验证码破解(浏览器与本地进程通信)
    Chrome插件:微信公众号自动登录(chrome.extension)
    Chrome插件:浏览器后台与页面间通信
  • 原文地址:https://www.cnblogs.com/supersponge/p/6530532.html
Copyright © 2011-2022 走看看