eclipse查看git地址_git&github的入门实战

68b4a55cba4b514f19a005d56d1ff0d8.png

一、Git概述

(1)定义

Git是目前世界上最先进的分布式版本控制系统。

77cbc3664858bbfb9fa9f2b59a008da8.png

(2)能干什么?

解决冲突、管理权限、代码备份、协同开发、版本还原、历史追查、版本记录、分支管理、代码审查

(3)集中管理型版本管理

f8d81978383ec1955ab7688fd17f8e16.png

经典的集中管理型(CVS、VSS、SVN)

特点:

  • 实现了大部分开发中对版本管理的需求
  • 结构简单,上手容易。

依然存在的问题

1、版本管理的服务器一旦崩溃,硬盘损坏,代码如何恢复? 2、程序员上传到服务器的代码要求是完整版本,但是程序员开发过程中想做小版本的管理,以便追溯查询,怎么办? 3、系统正在上线运行,时不时还要修改bug,要增加好几个功能要几个月,如何管理几个版本? 4、如何管理一个分布在世界各地、互不相识的大型开发团队?

(4)Git如何解决

17879f3dc18beedaad55489b1f10ad0d.png

Git 工具

1、命令行工具:Git for windows
下载地址: https:// git-for-windows.github.io /
2、 操作系统中可视化工具:TortoiseGit
下载地址: Windows Shell Interface to Git
3、 Eclipse插件: Egit
Eclipse自带,插件市场搜索最新版
4、 GitHub网站
Build software better, together

二、Git软件

1、git环境下载安装

7cb631209807d0c51906b6a6d0575aa8.png

26b3687c2ac9772984f2fc37cdd7be15.png

97cb46d1d2cdc6ccf33c97b799b23583.png

659237dfc5107184daa785abe3184d42.png

3a8483ffc32018c63f5d2f1c7674bcf8.png

d6a6ca002077769c70a2ba822326f2bb.png

5daed3903b4997609f42b171c9549771.png

53affdd3d080849702669b2357b89bd3.png

197b85a1375ba217cf054020678debd8.png

6be6db3a0b5e7f5fb6de679ce1e3476f.png

271cf463a6931f82dc8bc593d5548f08.png

安装完成后,还需要最后一步设置,在命令行输入如下:

1ba41f8a0748861a178541f9ab9b0e7d.png
Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
C:Usersadmin路径下的.gitconfig文件里面可以看到
--global 表示全局属性,所有的git项目都会共用属性

操作:

mrman

文件自动产生

48182542d3e1a4b97ee4ca9bb29f732e.png

2、Git软件操作

(1)理解工作目录,暂存区,本地仓库

a2ec9835e55662f9214885b80ada8a74.png
  • 工作区(Working Directory):就是你电脑本地硬盘目录
  • 本地库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
  • 暂存区(stage):一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

8ae41ceee3e6e4867fab25ab95e129e9.png

(2)操作:

创建项目文件夹设置文件夹属性

d01e7702084b4bae9928c39040141ca2.png

11bba2f9b4ae52053d5f6249a9bff731.png

创建本地版本仓库

mrman@DESKTOP-QH8S7FP MINGW64 /e
$  git  init   //初始化一个仓库,执行命令“ git  init”
Initialized empty Git repository in E:/.git/

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)

多出来一个文件:

6b70425f9270d060c1e84e24067f2529.png

12fe83db81d3a0fc344ab56b082d9841.png

提交文件

  • 新建文件,名为“hello.txt”

2c44c04bd164bbd152c03b79cb66e48e.png

hello.txt编辑内容:

111111111
  • 输入命令:git add 文件名,将文件添加到暂存区(没有放在仓库)
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$  git add hello.txt

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$  git status    //查看状态
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   hello.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        $RECYCLE.BIN/
        Linux/
        ZJZL/
        kinggsoft/
        qqpcmgr_docpro/
        qycache/


mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$

如图所示:

1ed7a92f38743029809e959b78a83fb0.png

输入命令:git commit 提交文件到本地库

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git commit
[master (root-commit) 1a89c3f] create 1
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

若想再次提交,可以这样操作,先修改hello.txt

mrman

566c23498366cab9bf5025ab1a888a8c.png
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git commit
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.
[master warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.
9696331] updata 2
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.
 1 file changed, 2 insertions(+), 1 deletion(-)

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$

//查看提交文件有哪些
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git log
commit 96963315b2c39a52a4f97bf2bd79551d2226d87c
Author: gitacct_pm <mrman8868@163.com>
Date:   Mon May 11 11:34:49 2020 +0800

    updata 2

commit 1a89c3f50f37f89a717ca116c968bd229ce4bf6d
Author: gitacct_pm <mrman8868@163.com>
Date:   Mon May 11 11:26:15 2020 +0800

    create 1


查看文件提交记录
//行查看(查看简易信息
)
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git log --pretty=oneline
96963315b2c39a52a4f97bf2bd79551d2226d87c updata 2
1a89c3f50f37f89a717ca116c968bd229ce4bf6d create 1


回退历史
//回退到上一次提交
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git  reset  --hard HEAD^
HEAD is now at 1a89c3f create 1

//再次查看,发现updata 2没有了
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git log  --pretty=oneline
1a89c3f50f37f89a717ca116c968bd229ce4bf6d create 1

版本穿越
//查看历史记录的版本号
$ git reflog
1a89c3f HEAD@{0}: reset: moving to HEAD^
9696331 HEAD@{1}: commit: updata 2
1a89c3f HEAD@{2}: commit (initial): create 1

//恢复 updata 2
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git  reset  --hard 9696331
HEAD is now at 9696331 updata 2

//再次查看,发现有updata 2
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git log  --pretty=oneline
96963315b2c39a52a4f97bf2bd79551d2226d87c updata 2
1a89c3f50f37f89a717ca116c968bd229ce4bf6d create 1

误删除项目文件夹中的hello.txt文本?

输入命令:git checkout 文件名,此时,仓库中的文件依然存在,所以可以从本地仓库中还原文件

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git  checkout  hello.txt

若想删除后的hello.txt文件,想增加到缓冲区里面

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git add hello.txt

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   hello.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        $RECYCLE.BIN/
        Linux/
        ZJZL/
        kinggsoft/
        qqpcmgr_docpro/
        qycache/

若想知道曾经做过哪些操作,不管是增删改查,可以这样做

mrman

(3)系统上线了,但是产品经理又提了新的需求,评估一下工期要两个月,但是同时系统正在上线运行,时不时还要修改bug,如何管理几个版本?

2e96b154f687dd10973ed778e369c6c8.png

创建分支

//创建分支

切换分支

//切换名为“branchA”分支
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git checkout branchA
Switched to branch 'branchA'

//创建word.txt文件写数据:word
mrman@DESKTOP-QH8S7FP MINGW64 /e (branchA)
$ echo "word" >> word.txt

4ba09f53c70d18cb0b715332297d22c0.png

创建word.txt文件

//创建新的,这个文件存放在仓库里面
mrman@DESKTOP-QH8S7FP MINGW64 /e (branchA)
$ git add word.txt
warning: LF will be replaced by CRLF in word.txt.
The file will have its original line endings in your working directory.

mrman@DESKTOP-QH8S7FP MINGW64 /e (branchA)
$ git commit -m 'create1'
[branchA ff28a03] create1
warning: LF will be replaced by CRLF in word.txt.
The file will have its original line endings in your working directory.
 1 file changed, 1 insertion(+)
 create mode 100644 word.txt

切换主线master

mrman@DESKTOP-QH8S7FP MINGW64 /e (branchA)
$ git checkout master
Switched to branch 'master'

发现开始创建的work.txt文件没有了

切换回来branchA

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git checkout branchA
Switched to branch 'branchA'

发现开始创建的work.txt文件有了

合并分支(以master为主)

//切换主线master
mrman@DESKTOP-QH8S7FP MINGW64 /e (branchA)
$ git  checkout  master
Switched to branch 'master'

//合并分支
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git  merge branchA
Updating 9696331..ff28a03
Fast-forward
 word.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 word.txt

9cd92a5db821556dccd9de67a22d75db.png
mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git  checkout  master
Already on 'master'  

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ vim word.txt

123 word

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git add word.txt

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git commit -m 'add 123'
[master f01119e] add 123
 1 file changed, 1 insertion(+), 1 deletion(-)

三、GitHub

1、GitHub是什么

HUB是一个多端口的转发器,在以HUB为中心设备时,即使网络中某条线路产生了故障,并不影响其它线路的工作。
GitHub是一个Git项目托管网站,主要提供基于Git的版本托管服务

网址:https://github.com/

注册账号的注意事项:

较长时间不使用有可能被Github冻结账号。请登录其客服页面https://github.com/contact,填写账号恢复申请。

首先,登录自己的github:输入邮箱地址+密码

b0b48033718dc53f7040b296e026d0e6.png
登录github

验证代码编码

7f648fd2e2867c144a6d4608df564c0d.png
github验证码

首先:创建项目工程

8dcf9e70ce400364b07ab95046fd9493.png

c8d2253387ea3096fbabdace97ccfe9c.png

之后,我们需要在git的窗口操作命令,先执行:git reflog

mrman

增加远程地址,一般直接用origin作代号,也可以自定义,另需要执行自己的github创建仓库生成的远程:HTTPS的远程地址。执行命令:

4bb67c79dff4c24291b5ec15f7a099f9.png
//告诉远程仓库地址

推送到远程库

mrman@DESKTOP-QH8S7FP MINGW64 /e (master)
$ git  push  origin  master

dfb891aecb6e32fb51a7a2fc15244404.png
登录口

d9d8ea22649254b37778ee5f9b8fc4ee.png
输入邮箱口

弹出窗口,输入密码:

5ab3f235c808e45e09d13b2bee0be6f6.png

加载这些信息:

$  

说明连上了,区自己的github查看,如图所示:

7b951ffc858d5782da503d5990311d97.png

2、从GitHub上克隆(复制)一个项目

(1)在自己github的文件数据或项目克隆到本地指定的文件目录下(通俗说下载到本地磁盘),可以这样操作

48b34a071c90d43c832823ccde71dbe5.png

93004b3dc1f9cd2e9493cb6b9c3a6979.png

执行命令如下:

mrman

查看文件:

1e5e426e23fd883626911411fc798d9c.png

(2)若想要在本地磁盘文件做更改,可以这样执行操作

//先进入pt文件目录下

查看:

7d6fb94e2ce1c2c4649439d1e12ca648.png

(3)每次输密码很烦篇

d14d46e8fe3adc28adca9219a7487ba6.png

先创建ssh密钥

mrman@DESKTOP-QH8S7FP MINGW64 ~/Desktop
$ ssh-keygen -t rsa -C mrman10086@163.com

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/mrman/.ssh/id_rsa):
Created directory '/c/Users/mrman/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/mrman/.ssh/id_rsa.
Your public key has been saved in /c/Users/mrman/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:YswQszo3grw+yfXvMhZ5gTR7mCf9ll3PGCaOX3ObucY mrman10086@163.com
The key's randomart image is:
+---[RSA 2048]----+
|    o            |
|     *           |
|    + B          |
|.. . X =   . +   |
|..+ o X S = + =  |
|  .= = o = o + + |
|..o . o . . . + +|
|.+   =     .   E |
| .. . =o      ...|
+----[SHA256]-----+

f56685a07256cf1ff4035516d27a54b0.png

登录Github后,右上角点击setting

2ca2bb884140c6742e4dc61b15dc3a25.png

在左侧菜单中选择SSH and GPG keys, 在右边点击New SSH key

d8eede154280d7fb8c761d9b0dfab635.png

Title随便写,Key 把之前id_rsa.pub的内容复制进去,点击Add SSH key,设置ssh key 完成。

2f599a25f251f7a925f105be8a028e24.png

查看:

1585c6bfac5ca4f50405f974da03230d.png

再次提交:

371d0577ad43cd3d9f924d2bee340856.png
mrman@DESKTOP-QH8S7FP MINGW64 /e/.git/repository/pt (master)
$ git add word.txt

mrman@DESKTOP-QH8S7FP MINGW64 /e/.git/repository/pt (master)
$ git commit -m "add ssh"
[master 97c8f26] add ssh
 1 file changed, 1 insertion(+), 1 deletion(-)

mrman@DESKTOP-QH8S7FP MINGW64 /e/.git/repository/pt (master)
$ git remote add originssh git@github.com:Peng8868sky/Project20200512.git

mrman@DESKTOP-QH8S7FP MINGW64 /e/.git/repository/pt (master)
$ git push originssh master

The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known                                                                                             hosts.
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 286 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:Peng8868sky/Project20200512.git
   98376c8..97c8f26  master -> master

查看:

8720da0eb390fb4693cd6d327bc235f3.png

(4)代码提交

先在idea根据登录自己的github

69297ef056221696e6ed841bfa12d2f1.png

后如下操作:

5f048ebe02941b776821e557be801907.png

bfdd72a38a2bfae045a792184976a3a7.png

e50f889b762f6a35df9f4105b7fc847f.png

c64b291f1173a701b763c4d5108bdc2b.png

查看已经提交进来了

6781673bcededd4babb00c284afc098b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值