首页 > 其他分享 >GIt

GIt

时间:2023-02-17 19:33:40浏览次数:52  
标签:Git git Layne GIt master atguigu hello

什么是Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

版本控制

何为版本控制?

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

集中式版本控制

CVS、SVN(Subversion)、VSS……

集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存

所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或

者提交更新。多年以来,这已成为版本控制系统的标准做法。

这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什

么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要

远比在各个客户端上维护本地数据库来得轻松容易。

事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕

机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

img点击并拖拽以移动编辑

分布式版本控制

Git、Mercurial、Bazaar、Darcs……

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码

仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用

其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次

对整个文件仓库的完整备份。

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:

\1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)

\2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

img点击并拖拽以移动编辑

Git的安装

Git - Downloading Package (git-scm.com):Git官方Windows下载地址

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑 img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

Git命令

Git常用命令

命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m "日志信息" 文件名 提交到本地库
git reflog 查看历史记录
git reset --hard 版本号 版本穿梭
  • 2****)案例实操

img

Git分支

什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独

分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时

候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是

一个单独的副本。(分支底层其实也是指针的引用)

img点击并拖拽以移动编辑

分支的好处

同时并行推进多个功能开发,提高开发效率。

各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败

的分支删除重新开始即可。

分支的操作

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上 4.3.1 查看分支

案例演示

  • 查看分支基本语法:git branch -v
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch -v
* master 087a1a7 my third commit (*代表当前所在的分区)

点击并拖拽以移动

  • 创建分支基本语法:****git branch 分支名
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch hot-fix
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch -v
hot-fix 087a1a7 my third commit (刚创建的新的分支,并将主分支 master
的内容复制了一份)
* master 087a1a7 my third commit

点击并拖拽以移动

  • 修改分支:
--在 maste 分支上做修改
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ vim hello.txt
--添加暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)

点击并拖拽以移动

$ git add hello.txt
--提交本地库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git commit -m "my forth commit" hello.txt
[master f363b4c] my forth commit
1 file changed, 1 insertion(+), 1 deletion(-)
--查看分支
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch -v
 hot-fix 087a1a7 my third commit (hot-fix 分支并未做任何改变)
* master f363b4c my forth commit (当前 master 分支已更新为最新一次提交
的版本)
--查看 master 分支上的文件内容
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! master test
hello git! hello atguigu!

点击并拖拽以移动

  • 切换分支基本语法:****git checkout 分支名
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git checkout hot-fix
Switched to branch 'hot-fix'
--发现当先分支已由 master 改为 hot-fix
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$
--查看 hot-fix 分支上的文件内容发现与 master 分支上的内容不同
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
—————————————————————————————
25
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
--在 hot-fix 分支上做修改
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! hot-fix test
--添加暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ git add hello.txt
--提交本地库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ git commit -m "hot-fix commit" hello.txt

点击并拖拽以移动

  • 合并分支基本语法:****git merge 分支名
案例实操 在 master 分支上合并 hot-fix 分支
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git merge hot-fix
Auto-merging hello.txt
CONFLICT (content): Merge conflict in hello.txt
Automatic merge failed; fix conflicts and then commit the result.

点击并拖拽以移动

产生冲突

冲突产生的表现:后面状态为 MERGING

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)

$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
<<<<<<< HEAD
hello git! hello atguigu! master test
hello git! hello atguigu!
=======
hello git! hello atguigu!
hello git! hello atguigu! hot-fix test
>>>>>>> hot-fix

点击并拖拽以移动

冲突产生的原因:

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替

我们决定使用哪一个。必须人为决定新代码内容。

查看状态(检测到有文件有两处修改)

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ git status
On branch master
You have unmerged paths.
 (fix conflicts and run "git commit")
 (use "git merge --abort" to abort the merge)
Unmerged paths:
 (use "git add <file>..." to mark resolution)
 both modified: hello.txt
no changes added to commit (use "git add" and/or "git commit -a")

点击并拖拽以移动

解决冲突

1)编辑有冲突的文件,删除特殊符号,决定要使用的内容

特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! master test
hello git! hello atguigu! hot-fix test

点击并拖拽以移动

2)添加到暂存区

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ git add hello.txt

点击并拖拽以移动

3)执行提交(注意:此时使用 git commit 命令时不能带文件名

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ git commit -m "merge hot-fix"
[master 69ff88d] merge hot-fix
--发现后面 MERGING 消失,变为正常
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$

点击并拖拽以移动

创建分支和切换分支图解

img点击并拖拽以移动编辑

master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD

决定的。所以创建分支的本质就是多创建一个指针。

​ HEAD 如果指向 master,那么我们现在就在 master 分支上。

​ HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。

所以切换分支的本质就是移动 HEAD 指针。

Git 团队协作机制

团队内协作

img点击并拖拽以移动编辑

跨团队协作

img点击并拖拽以移动编辑

Github

GitHub 网址:https://github.com/

Ps:全球最大同性交友网站,技术宅男的天堂,新世界的大门,你还在等什么?

创建远程仓库

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

远程仓库操作

命令名称 作用
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址 起别名
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新内容拉下来后与 当前本地分支直接合并

创建远程仓库别名

1****)基本语法

git remote -v 查看当前所有远程地址别名

git remote add 别名 远程地址

2****)案例实操

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git remote -v
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git remote add ori https://github.com/atguiguyueyue/git-shTest.git
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git remote -v
ori https://github.com/atguiguyueyue/git-shTest.git (fetch)
ori https://github.com/atguiguyueyue/git-shTest.git (push)

点击并拖拽以移动

https://github.com/atguiguyueyue/git-shTest.git

这个地址在创建完远程仓库后生成的连接,如图所示红框中

img点击并拖拽以移动编辑

推送本地分支到远程仓库

1****)基本语法

git push 别名 分支

2****)案例实操

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git push ori master
Logon failed, use ctrl+c to cancel basic credential prompt.
Username for 'https://github.com': atguiguyueyue
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 276 bytes | 276.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/atguiguyueyue/git-shTest.git
* [new branch] master -> master

点击并拖拽以移动

此时发现已将我们 master 分支上的内容推送到 GitHub 创建的远程仓库。

img点击并拖拽以移动编辑

克隆远程仓库到本地

1****)基本语法

git clone 远程地址

2****)案例实操

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong
$ git clone https://github.com/atguiguyueyue/git-shTest.git
Cloning into 'git-shTest'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.

点击并拖拽以移动

https://github.com/atguiguyueyue/git-shTest.git

这个地址为远程仓库地址,克隆结果:初始化本地仓库

img点击并拖拽以移动编辑

--创建远程仓库别名
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong/git-shTest
(master)
$ git remote -v
origin https://github.com/atguiguyueyue/git-shTest.git (fetch)
origin https://github.com/atguiguyueyue/git-shTest.git (push)

点击并拖拽以移动

小结:clone 会做如下操作。1、拉取代码。2、初始化本地仓库。3、创建别名

邀请加入团队

1****)选择邀请合作者

img点击并拖拽以移动编辑

2****)填入想要合作的人

img点击并拖拽以移动编辑

3 ) 复 制 地 址 并 通 过 微 信 钉 钉 等 方 式 发 送 给 该 用 户 , 复 制 内 容 如 下 :

https://github.com/atguiguyueyue/git-shTest/invitations

img点击并拖拽以移动编辑

4****)在 atguigulinghuchong 这个账号中的地址栏复制收到邀请的链接,点击接受邀请。

img点击并拖拽以移动编辑

5****)成功之后可以在 atguigulinghuchong 这个账号上看到 git-Test 的远程仓库

img点击并拖拽以移动编辑

6****)令狐冲可以修改内容并 push 到远程仓库。

--编辑 clone 下来的文件
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong/git-shTest
(master)
$ vim hello.txt
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong/git-shTest
(master)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 33333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! 我是最帅的,比岳不群还帅
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! master test
hello git! hello atguigu! hot-fix test
--将编辑好的文件添加到暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong/git-shTest
(master)
$ git add hello.txt
--将暂存区的文件上传到本地库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong/git-shTest
(master)
$ git commit -m "lhc commit" hello.txt
[master 5dabe6b] lhc commit
1 file changed, 1 insertion(+), 1 deletion(-)
--将本地库的内容 push 到远程仓库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/pro-linghuchong/git-shTest
(master)
$ git push origin master
Logon failed, use ctrl+c to cancel basic credential prompt.
Username for 'https://github.com': atguigulinghuchong
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 309 bytes | 309.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/atguiguyueyue/git-shTest.git
 7cb4d02..5dabe6b master -> master

点击并拖拽以移动

7****)回到 atguiguyueyue GitHub 远程仓库中可以看到,最后一次是 lhc 提交的。

img点击并拖拽以移动编辑

拉取远程库内容

1****)基本语法

git pull 远程库地址别名 远程分支名

2****)案例实操

--将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git pull ori master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/atguiguyueyue/git-shTest
* branch master -> FETCH_HEAD
 7cb4d02..5dabe6b master -> ori/master
Updating 7cb4d02..5dabe6b
Fast-forward
hello.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 33333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! 我是最帅的,比岳不群还帅
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! master test
hello git! hello atguigu! hot-fix test

点击并拖拽以移动

跨团队协作

1****)将远程仓库的地址复制发给邀请跨团队协作的人,比如东方不败

img点击并拖拽以移动编辑

2****)在东方不败的 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork 将项目叉到自

己的本地仓库。

img点击并拖拽以移动编辑

叉入中****…

img点击并拖拽以移动编辑

叉成功后可以看到当前仓库信息。

img点击并拖拽以移动编辑

3****)东方不败就可以在线编辑叉取过来的文件

img点击并拖拽以移动编辑4****)编辑完毕后,填写描述信息并点击左下角绿色按钮提交。

img点击并拖拽以移动编辑 5****)接下来点击上方的 Pull 请求,并创建一个新的请求

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

6****)回到岳岳 GitHub 账号可以看到有一个 Pull request 请求

img点击并拖拽以移动编辑 进入到聊天室,可以讨论代码相关内容

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

7****)如果代码没有问题,可以点击 Merge pull reque 合并代码。

img点击并拖拽以移动编辑

SSH 免密登录

我们可以看到远程仓库中还有一个 SSH 的地址,因此我们也可以使用 SSH 进行访问

img点击并拖拽以移动编辑

具体操作如下:

--进入当前用户的家目录
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ cd
--删除.ssh 目录
Layne@LAPTOP-Layne MINGW64 ~
$ rm -rvf .ssh
removed '.ssh/known_hosts'
removed directory '.ssh'
--运行命令生成.ssh 秘钥目录[注意:这里-C 这个参数是大写的 C]
Layne@LAPTOP-Layne MINGW64 ~
$ ssh-keygen -t rsa -C [email protected]
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Layne/.ssh/id_rsa):
Created directory '/c/Users/Layne/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Layne/.ssh/id_rsa.
Your public key has been saved in /c/Users/Layne/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:7CPfRLITKcYDhaqpEDeok7Atvwh2reRmpxxOC6dkY44 
[email protected]
The key's randomart image is:
+---[RSA 2048]----+
| .. |
| .. |
| . .. |
|+ + o . . |
|oO . = S . |
|X . .. + = |
|+@ * .. = . |
|X.&o+. o = |
|Eo+Oo . . |
+----[SHA256]-----+
--进入.ssh 目录查看文件列表
Layne@LAPTOP-Layne MINGW64 ~
$ cd .ssh
Layne@LAPTOP-Layne MINGW64 ~/.ssh
$ ll -a
total 21
drwxr-xr-x 1 Layne 197609 0 11 月 25 19:27 ./
drwxr-xr-x 1 Layne 197609 0 11 月 25 19:27 ../
-rw-r--r-- 1 Layne 197609 1679 11 月 25 19:27 id_rsa
-rw-r--r-- 1 Layne 197609 406 11 月 25 19:27 id_rsa.pub
--查看 id_rsa.pub 文件内容
Layne@LAPTOP-Layne MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAABAQDRXRsk9Ohtg1AXLltsuNRAGBsx3ypE1O1Rkdzpm
l1woa6y6G62lZri3XtCH0F7GQvnMvQtPISJFXXWo+jFHZmqYQa/6kOIMv2sszcoj2Qtwl
lGXTPn/4T2h/cHjSHfc+ks8OYP7OWOOefpOCbYY/7DWYrl89k7nQlfd+A1FV/vQmcsa1L
P5ihqjpjms2CoUUen8kZHbjwHBAHQHWRE+Vc371MG/dwINvCi8n7ibI86o2k0dW0+8SL+
svPV/Y0G9m+RAqgec8b9U6DcSSAMH5uq4UWfnAcUNagb/aJQLytrH0pLa8nMv3XdSGNNo
AGBFeW2+K81XrmkP27FrLI6lDef [email protected]

点击并拖拽以移动

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑 img点击并拖拽以移动编辑

接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。

IDEA集成Git

配置 Git 忽略文件

1Eclipse 特定文件

img点击并拖拽以移动编辑

2IDEA 特定文件

img点击并拖拽以移动编辑

3Maven 工程的 target 目录

img点击并拖拽以移动编辑

问题 1:****为什么要忽略他们?

答:与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之

间的差异。

问题 2****:怎么忽略?

1)创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore)

这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用

户家目录下

git.ignore 文件模版内容如下:

# Compiled class file
*.class

# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see 
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml

点击并拖拽以移动

2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)

[user]
name = Layne
email = [email protected]
[core]
excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”

点击并拖拽以移动

定位 Git 程序

img点击并拖拽以移动编辑

初始化本地库

img点击并拖拽以移动编辑 选择要创建 Git 本地仓库的工程。

img点击并拖拽以移动编辑

添加到暂存区

右键点击项目选择 Git -> Add 将项目添加到暂存区。

img点击并拖拽以移动编辑

提交到本地库

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

切换版本

在 IDEA 的左下角,点击 Version Control,然后点击 Log 查看版本

img点击并拖拽以移动编辑

右键选择要切换的版本,然后在菜单里点击 Checkout Revision。

img点击并拖拽以移动编辑

创建分支

选择 Git,在 Repository 里面,点击 Branches 按钮。

img点击并拖拽以移动编辑 在弹出的 Git Branches 框里,点击 New Branch 按钮

img点击并拖拽以移动编辑

填写分支名称,创建 hot-fix 分支。

img点击并拖拽以移动编辑

然后再 IDEA 的右下角看到 hot-fix,说明分支创建成功,并且当前已经切换成 hot-fix 分

img点击并拖拽以移动编辑

切换分的

在 IDEA 窗口的右下角,切换到 master 分支。

img点击并拖拽以移动编辑

合并分支

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

解决冲突

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

设置 GitHub 账号

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑 img点击并拖拽以移动编辑

分享工程到 GitHub

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,

push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程

库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地

代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地

代码更新到最新以后,然后再修改,提交,推送!

pull 拉取远程库到本地库

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

clone 克隆远程库到本地

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

img点击并拖拽以移动编辑

创建远程库

代码推送 Push

代码拉去 Pull

代码克隆 Clone

SSH免密登录

IDEA集成Github

Gitee

码云创建远程库

IDEA集成Gitee

码云链接Github进行代码的复制和迁移

GitLab

GitLab服务器的搭建和部署

IDEA集成GitLab

标签:Git,git,Layne,GIt,master,atguigu,hello
From: https://www.cnblogs.com/lkj1223456/p/17131356.html

相关文章

  • git在本地错误分支上写代码的问题
    本地上有两个分支 master和xxx   xxx分支与远程分支xxx关联 master分支的代码不能和远程分支关联  但是一开始写错分支了 都在master分支上写的解决办法gi......
  • gitlab修改分支名称
    第一步:先修改本地分支重命名  第二步:删除远程分支 第三步:将本地分支推送到远程分支上,如果远程分支不存在,则创建此远程分支  原文章地址:https://blog.csdn.......
  • 使用Github Actions构建、发布和部署NuGet软件包
    介绍在DevOps的现代时代,自动化已变得越来越流行,而创建/上传软件包已成为过去。而且,软件包的数量在开发人员的生活中日益增加。因此,在NuGet.org上手动构建、发布和部署所有......
  • 清除原项目的git版本信息方法
    拉取别人的项目到本地,想要重新开发,然后自己提交到新的仓库地址,就需要把项目中原来的git信息清除掉1、cd到项目的目录,然后执行gitremotermorigin  删除远程地址,将项......
  • git初始化操作
    Gitglobalsetupgitconfig--globaluser.name"liulei1"gitconfig--globaluser.email"[email protected]"Createanewrepositorygitclonessh://git@1......
  • Jenkins+Net Core3.1+Gitlab实现 CICD(未完成版)
    架构说明:由浅入深,我们暂时不考虑分布式,安装Jenkins到用户服务器进行CICD需要两台服务器Gitlab:192.168.232.128:12080源代码仓库,可以参考《安装git......
  • Git 多账号 SSH 配置
    【前言】在企业工作环境中,我们一般会用企业的github或gitlab等账号,同时也会配置相关的ssh访问方式。当我们想要同时操作个人github或gitlab仓库时,就无法重复使用现有的ss......
  • Git笔记1
    记录一些语法,希望自己看到的时候可以起到复习的作用echo写入echo"Thisisatext">>Filenamebranch分支展示$gitbranch*devmain星号代表当前分支cat......
  • Git使用记录
    首先在电脑上安装Git,安装成功后,可以开始配置了!一、入门使用1、选择文件路径,右键,gitbashhere 输入gitconfig-l查看配置      2、设置用户名与邮箱 ......
  • windows下通过docker安装gitlab
    1.下载dockerhttps://docs.docker.com/desktop/install/windows-install/按照步骤往下走2.打开cmd运行dockersearchgitlab/gitlab-cedockerpullgitlab/gitlab-ce......