微信公众号:Java修炼指南
博客园:https://home.cnblogs.com/u/wuyx/
CSDN: https://mp.csdn.net/
简书:https://www.jianshu.com/
关注可与各位开发者共同探讨学习经验,以及进阶经验。如果有什么问题或建议,请在公众号留言。

之前4月份刚换公司,近期也算是比较渐渐的适应了新公司的节奏,于是乎乘着假期来写一些东西。之前出入公司时写过一篇git的使用,只是一些基本操作,于是打算再写一篇基础操作篇。我发现在开发过程中我们也许不仅仅使用git的命令行去操作与git远程仓库进行同步,可能会使用到eclipse的集成工具,或者是TortoiseGit等工具进行操作,或者是三者结合使用。

 

准备工作

新建git仓库

首先我们需要创建自己的git仓库,可以使用 github, 也可以使用码云,我在此处使用的是码云。

下载 git 命令窗口

git 命令窗口 此处为我的云盘的资源 提取码为:85dl

下载 TortoiseGit 客户端

TortoiseGit 客户端 此处为我的云盘的资源 提取码为:2nqj

在eclipse中安装git插件

  1. 点击help – Install new software – Add 在Location中输入http://download.eclipse.org/egit/updates/
  2. 将几个选项勾选,然后下一步,直到安装,重启eclipse,就安装完毕了
  3. 将自己git信息配置到eclipse中,Window – preferences

创建Git操作文件夹

这个文件夹用于学习git的操作,里面再创建三个文件夹,分别用git,eclipse,TortoiseGit来操作。

clone项目

git 命令行clone项目

  1. 首先进入到文件夹,打开git命令窗口
  2. init 初始化,将此文件夹变为git管理文件夹,并且文件夹中会出现 .git的文件夹
git init

  


3. 去码云中找到clone的路径
4. clone 项目

git clone xxx

  


5. 此时项目就被clone下来了。

eclipse Git插件clone项目

  1. 首先将eclipse的工作空间调整到刚刚创建得文件夹下面。
  2. 将项目clone进来,右键 – import – Git
  3. 选择clone URL
  4. 在此处需要输入刚刚从码云上面复制下来的地址。
  5. 选择主干 master
  6. 选择存放地址,这里选择我们刚刚创建的地址。
  7. 选择导入得文件夹
  8. 这里导入项目,下面报错了,为什么报错呢?因为在此处项目文件夹中其实是没有java项目存在,所以报错了,大家可以在码云中有项目时再进行拉取代码并导入。

    我们可以看到的是,码云上面的文件是下载下来了。

TortoiseGit clone项目

  1. 进入刚刚创建的TortoiseGit 的项目文件夹,右键 – Git clone 填入码云的地址,并且选择要存放的本地地址。
  2. 下载文件
  3. 查看文件

拉取分支

拉取分支本来应该在下面才对,但是为了展示不同得工具进行代码操作,于是就将这部分内容提前了。

git 命令行拉取分支

  1. 创建本地分支
git branch 分支名
  1. 查看本地分支,*绿色 表示当前分支为master分支
git branch


3. 将本地分支推到远程仓库

git push origin 分支名
  1. 我在此处执行时报异常,这里大概说:“origin”不存在
  2. 查询源配置,果然没有设置,在此设置源配置。
#查看源配置
git remote -v

  

 #设置源配置 git@gitee.com:wuyouxin/Git-XueXi.git 为从git上复制得clone路径 
git remote add origin git@gitee.com:wuyouxin/Git-XueXi.git

# 将origin源配置推到 master 上
git push origin master 
  1. 重新执行步骤 3,然后查看远程仓库的分支
git branch -r

  

eclipse Git插件拉取分支

  1. 首先我这里在主干master上面上传了一个项目,否则无法导入到eclipse中,也就无法去演示拉取新的分支了。
  2. 右键单击项目 – team – switch To – New Branch
  3. 填写分支名,上面master表示从哪啦分支,我这以master拉取分支1.0.2,然后 Finish
  4. 右键项目 – Team – Push Branch ‘1.0.2’
  5. 直接 next
  6. 然后 Finish
  7. 最后去码云上查看,新分支1.0.2已经被创建。

TortoiseGit 拉取分支

  1. 首先进入到 TortoiseGit 目录下 右键 – TortoiseGit – Create Branch
  2. 给新分支命名 1.0.3
  3. 切换分支 右键 – TortoiseGit – Switch/Checkout
  4. 将分支切换到 1.0.3
  5. 将 1.0.3 push 到远程仓库 右键 – TortoiseGit – push
  6. 提交
  7. 在远程仓库进行查看

切换分支

git 命令行切换分支

git checkout 分支名

从 master 分支 切换到 1.0.1 分支

eclipse Git插件切换分支

右键项目 – Team – Switch To – 分支名 就切换完毕

TortoiseGit 切换分支

使用 TortoiseGit 切换分支,在上面创建新分支时就有过演示,在此就不做赘述。

上传文件

首先我在最初创建的三个文件夹中加入三个txt文件,分别为 1.0.1.txt,1.0.2.txt,1.0.3.txt

git 命令行上传文件

  1. 查看工作目录和暂存区的状态,发现工作目录中存在1.0.1.txt文件未提交
#查询工作目录和暂存区的状态
git status

  1. 将文件加入暂存区
git add 1.0.1.txt
  1. 再次查看工作目录和暂存区的状态,发现此时工作区没有未提交文件,但是暂存区有未提交的文件。


4. 提交

git commit -m '提交1.0.1.txt'

  1. 最后将暂存区内容推送到远程仓库
git push

  1. 最后去码云上面查看

eclipse Git插件上传文件

  1. 将文件提交到暂存区,选择需要提交的文件,右键 – team – add to Index
  2. 提交文件 右键文件 – team – Commit
  3. 写注释 单击 commit and push
  4. 去码云上查看

TortoiseGit 上传文件

  1. 将文件提交到缓存区 右键文件 – TortoiseGit – Add
  2. commit文件 右键文件 – Git Commit -> 分支名
  3. 写注释 提交
  4. 将文件push到远程仓库 右键 – TortoiseGit – push
  5. push分支
  6. 在码云查看

下载文件

我在码云上在三个分支中分别加一个文件,来演示下载。

git 命令行下载文件

  1. 下载文件
git pull

eclipse Git插件下载文件

右键项目 team – pull

TortoiseGit 下载文件

  1. 右键 TortoiseGit – pull
  2. 选择分支

合并分支

git 命令行合并分支

  1. 首先需要将分支切换到被合的那个分支上(分支往主干上合代码,就需要切换到主干上)
  2. 合并代码
git merge 分支名 


3. 我在合并是报一个错误,大概说是因为两个仓库提交历史不一致,无法合并,我这里使用强制合并,在后面加上 --allow-unrelated-histories 最后需要注意的是,有个文件冲突需要解决(如何解决冲突在下面会说到),解决之后可以直接提交代码,提交结束代码合并完毕。

eclipse Git插件合并分支

  1. 首先一样需要将代码切换到要提交的分支上,我这里还是提交到主干上。
  2. 开始合并代码 右键 – Team – Merge
  3. 选择要合并的分支 – Merge 这里如果存在冲突,就解决冲突,如果不存在冲突,则合并成功,提交代码即可。

TortoiseGit 合并分支

  1. 依旧首先将代码切换到主干
  2. 开始合并 右键 – TortoiseGit – Merge
  3. 选择合并的分支,选择Squash 合并,然后ok。如果有冲突解决冲突,否则合并成功。

删除分支

git 命令行删除分支

  1. 删除远程分支(删除之后可以使用 git branch -r 进行查看)
 git push origin --delete 分支名

  1. 删除本地分支(删除之后可以使用 git branch 进行查看)
git branch -d 分支名

eclipse Git插件删除分支

删除本地分支

  1. 删除分支 右键 – Team – Advanced – Delete Branch
  2. 选择要删除的分支 – ok 即可删除

删除远程分支

  1. 开始删除 右键 – Team – Remote – Push
  2. next
  3. 选择删除分支 – Add Spec – Finish

TortoiseGit 删除分支

  1. 开始删除 TortoiseGit – Switch/Checkout
  2. 选择更多
  3. 选择分支 heads(本地分支),origin(远程分支),然后选择要删除的分支,右键 – Delete branch 删除

解决冲突

在主干master 中创建一个一个文件 代码冲突演示.txt,然后三个工具都进行下载。

git 命令行解决冲突

  1. 首先在码云直接修改文件,然后在本地修改文件。
  2. 提交,提交之前pull,报有文件冲突。
  3. 打开文件<<<<<<< HEAD ======= 之间的代码为本地代码。====== 到 >>>>>> 之间的代码为远程分支代码。将需要的代码保留,提交即可。

eclipse Git插件解决冲突

  1. 首先在码云直接修改文件,然后在eclipse修改文件。
  2. 比对代码 右键项目 – Team – Synchronize Workspace
  3. 文件上带有红色双箭头的为存在冲突的代码。左侧为本地代码,右侧为远程代码
  4. 将远程代码拉到本地
  5. Add to index – Commit – pull
  6. 查看文件 <<<<<<< HEAD ======= 之间的代码为本地代码。====== 到 >>>>>> 之间的代码为远程分支代码。将需要的代码保留,提交即可。

TortoiseGit 解决冲突

TortoiseGit 解决冲突其实也大同小异,都是提交代码时发现有冲突,pull远程文件下来修改文件冲突,然后提交即可。

看这里:如果你觉得内容对你有帮助,请动动小手点个好看。关注我,后期内容更精彩,还有海量资源分享哦!

Git 基本应用的更多相关文章

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  3. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  4. Git Bash的一些命令和配置

    查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...

  5. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  6. 史上最详细git教程

    题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...

  7. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  8. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

随机推荐

  1. Vue2.0+elementUI使用echarts插件

    1.npm安装echarts:     $ npm install echarts -S 2.html代码: <template> <div id="chartColumn ...

  2. MyBatis工厂工具类 MyBatisUtils

    import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apach ...

  3. http服务详解(2)——httpd的配置文件常见设置

    HTTP服务器应用 http服务器程序 httpd apache nginx lighttpd 应用程序服务器 IIS .asp tomcat .jsp jetty 开源的servlet容器,基于Ja ...

  4. GNS3

    什么是GNS? GNS Graphical Network Simulator Simulator or Emulator? 尽管GNS全拼包含simulator,但实际上是emulator.我们说其 ...

  5. 用python文件操作实现复制图片、视频

    图片复制 打开源图片: f_src = open('1.jpg','rb') 读取图片内容并存储到content变量 content = f_src.read() 打开复制后的图片,没有则创建 f_c ...

  6. AVL树(C++&Java)

    目录 AVL Tree精讲专题 前言 一.AVL Tree for CPP(Coding) 1.AVL树原型 2.旋转的四种方式 二.完整版AVL Tree的CPP和JAVA实现 AVL Tree C ...

  7. net.exe和net1.exe的区别&联系.

    system32文件夹下有一个net.exe和net1.exe,一般做渗透的时候,很多情况下管理员只知道删除net.exe而遗漏net1.exe,导致我们能继续do evil..... 一直没弄明白它 ...

  8. 全排列 递归方法(permutation原理

    https://blog.csdn.net/axiqia/article/details/50967863  原博客 (一)递归的全排列算法 (A.B.C.D)的全排列为 1.A后面跟(B.C.D)的 ...

  9. C# 对Outlook2010进行二次开发

    第一步:添加新项目 第二步:添加新的页签,注意,此页签是显示到Outlook主界面的 第三步:添加自己想要的文本框以及按钮 第四步:如果你想将此界面显示到主界面的话,需要这样设置:属性里面的Ribbo ...

  10. ubuntu下编辑文本命令

    常见的基于控制台的文本编辑器有以下几种: emacs           综合性的GNU emacs 编辑环境 nano              一个类似于经典的pico的文本编辑器,内置了一个pi ...