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

    本文档介绍了git安装、SoureTree工具使用、推送、更新、冲突解决,一些常用命令

    总之,这个文档不是最全的,但是都是我工作中天天用到的东西,以后也会更新。

    我用的git云是OSCHINA

    我使用git一个主要流程:

    接到需求->从线上的master分支拉取一个新的分支->开发->开发完毕后更新当前分支->提交推送当前分支

    一种极端的情况:

    一个月前我开发A模块,这个模块已经上线,一个月后我在开发B模块,B模块是在原A模块代码基础上改的,此时B模块未开发完,不可以提交,线上A模块出现BUG,立刻就要修改,这时需要使用stash命令,先把当前B模块的所有改动储藏,让当前分支变为修改前的代码,解决Bug后,再还原B模块未开发完的代码。

    一、下载git

    下载git

    然后一直下一步下一步安装至结束

    二、安装MyEclipse插件-Egit

    Egit下载

    Egit版本要对应myeclipse中的eclipse版本下载egit

    查看eclipse版本号:myeclipse安装路径下用记事本打开 .eclipseproduct文件

    下载完后放到MyEclipse 10dropins下,重启工具,

    在window->preferrence->team下有git ,则表明安装成功

    我只用egit解决冲突,所以到此安装完毕

    三、创建git密钥

    方式一:SoureTree生成(我在用这种方式)

    打开SoureTree,选择

    在弹出的窗口中选择‘Generate’然后晃动鼠标生成,生成后选择‘Save Private Key’ 保存密钥文件,千万别丢失,把生成的密钥添加到云端中,每次使用SoureTree都要添加这个密钥,添加方式,桌面右下角-Pageant...的一个程序,Add Key即可

     方式二:MyEclipse生成(就学习git的时候了解过)

    在Myeclipse - window - preferences  搜 SSH  会出现 ssh2

    在右侧点Key Management → generate RSA Key... → apply → save private key...,然后保存添加到云端git仓库

    四、指定文件不被git管理

    项目中有些文件是无需提交的,比如WEB-INF->classes文件,不管它的话git老提示小箭头,用以下方法能解决

    打开Navigator窗口,在项目根目录中添加(如果有就直接用).gitignore文件,将需要排除控制的目录写入.gitignore文件中,这样就可以指定排除监控某些文件。

    在git版本库中已存在了某文件,曾经前push提交过该文件。

    .gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了

    需要在git库中删除该文件,并更新。

    如果上面设置无效,在git命令行下执行

     git rm -r --cached .
     git add .
     git commit -m 'update .gitignore'

    五、新建项目并推送到git云

    1.首先在云端创建一个项目,得到一个git地址:git@gitee.com:****/***.git

    2.打开SoureTree,导入密钥

    3.选择“克隆/新建”

    4.选择‘创建新仓库’

    目标路径:本地git仓库存放位置,个人理解这个仓库就是Myeclipse的workspace,以后的项目都在这里

    名字:一般不用管,自动生成,可以根据自己习惯修改

    5.点击创建后本地仓库就创建完毕,但需要和云端仓库同步,在选中当前仓库下(图一),使用ctrl+shift+, 

    打开项目设置(图二),在弹出的页面中‘添加’(图三)

    远端名称:自定义起名

    URL/路径:上面创建的git@gitee.com:****/***.git路径

    两次确定后,即可下载远端分支(图四图五),注:“gittest”是我起的“远端名称”。

    图一↑

    图二↑

    图三↑

    图四↑

    图五↑

    6.到此为止,本地仓库已经创建,已经跟踪云端仓库,现在再向本地仓库中放任何文件,SoureTree都会改变状态,最后一步,创建项目,和创建一般的java项目一样,只不过在选择项目存放路径时,选择本地的git仓库就好了,创建完成后,Egit会自动对刚创建的项目进行状态跟踪。 

    六、导入项目(前提:Git云上有java项目)

    导入项目个人觉得最常用的有两种方式

    1.SoureTree(我在用这个方式)

    ①打开工具,导入密钥

    ②选择“克隆/新建”

    ③在“源路径/URL”中输入云端git地址,然后选择存放路径,选好后点“克隆”

    ④在MyEclipse中导入刚刚克隆的项目即可,Egit会自动跟踪状态改变

    2.Egit(学习时了解过)

    打开myeclipse中git仓库页面,选择clone .....

    输入git云端链接,选择要克隆的分支,选择本地git仓库地址,提交到本地仓库即可

    七、指定分支之间的对比

    例如,当前在A分支下,我想看看A分钟和B分支到底有哪些改动

    在项目上右键team-Advanced-Synchronize选择和哪个分支同步对比

    八、创建分支

    不习惯用命令,使用SourceTree创建

    九、提交分支

    不习惯用命令,使用SourceTree提交,还可使用EGIT和命令,本例说明SourceTree提交

    改动文件后,在工具中会提示哪些文件改动了(图一),右键一个或多个文件,选择添加(图二),点击右上角提交,在最下方输入本次提交的备注,提交后工具‘推送’按钮会出现数字,数字标识当前分支超前了云端分支多少个版本

    图一↑

     图二↑

     十、更新分支

    云端版本有更新时,SourceTree中“拉取”会有数字,数字代表云端分支版本领先当前分支几个版本,点击拉取或者使用命令 git pull

    当然本地如果有未暂存的文件,是无法拉取的,所以拉取前,先执行 git status -u储藏起来,更新完了再把储藏的还原(还原使用git stash pop stash{X},X代表索引,使用git stash list查看,确定到底要恢复哪个储藏的内容),这样有可能出现冲突,看下面

    十一、冲突

    还原储藏内容,会发生三种可能

    1.无冲突

    2.有冲突,但git自动合并成功,冲突解决

    3.有冲突,git无法自动合并,比如我修改了A文件的第10行,另外一个人也修改了A文件的第10行

    这时,需要使用Egit解决冲突,回到MyEclipse,在冲突文件上右键team->Merge Tool 选择冲突解决工具,我喜欢用第二个,完成后team->Add to Index后就可以提交了

    十二、Stash储藏

    git stash -u :未add的新文件也可隐藏,不加u只隐藏add的文件,更多操作如下

    stash命令详解

    十三、SourceTree安装

    各种下一步下一步,安装完后需要翻墙一下,登录帐号,这个就登录一次就够了

    当然还有一种免翻墙的办法,将附件中替换安装目录下的同名文件即可

    跳过登陆替换文件

    有遗漏的地方请提示,谢谢。

  • 相关阅读:
    大数据学习——hive数据类型
    大数据学习——关于hive中的各种join
    大数据学习——hive的sql练习
    大数据学习——hive显示命令
    大数据学习——hive数仓DML和DDL操作
    大数据学习——hive基本操作
    大数据学习——hive使用
    大数据学习——hive安装部署
    大数据学习——日志分析
    大数据学习——mapreduce运营商日志增强
  • 原文地址:https://www.cnblogs.com/rb2010/p/8117070.html
Copyright © 2011-2022 走看看