Git与GitHub\GitLab的介绍和使用

1.历史

写这篇文章前,首先要致敬大佬--------->  Linus  。2005年他用C语言编写了Git,主体程序开发完成只用了两周,一个月后大佬的Linux系统代码由Git管理。2008年,GitHub上线。

2.Git的优势

  • 大部分操作在本地完成
  • 完整性保证
  • 尽可能添加数据而不是删除或修改数据
  • 分支操作非常快捷流畅
  • 与Linux命令完美兼容

3.Git的安装

Git的下载地址   Git

Git与GitHub\GitLab的介绍和使用_第1张图片Git与GitHub\GitLab的介绍和使用_第2张图片Git与GitHub\GitLab的介绍和使用_第3张图片Git与GitHub\GitLab的介绍和使用_第4张图片

Git与GitHub\GitLab的介绍和使用_第5张图片Git与GitHub\GitLab的介绍和使用_第6张图片Git与GitHub\GitLab的介绍和使用_第7张图片Git与GitHub\GitLab的介绍和使用_第8张图片

4.Git本地操作

4.1 打开终端Git Bash

Git与GitHub\GitLab的介绍和使用_第9张图片Git与GitHub\GitLab的介绍和使用_第10张图片

4.2 Git本地初始化及其创建用户和邮箱

Git与GitHub\GitLab的介绍和使用_第11张图片

4.3 Git本地提交相关操作

Git与GitHub\GitLab的介绍和使用_第12张图片

git status	                               查看 所在分支/工作区/暂存区信息
git add  [fileName]	                       将新增或修改的文件添加到暂存区
git rm --cached fileName	               将新增的某个文件从暂存区移除
git commit [fileName] -m "我的注释"	       提交到本地库

4.4 Git本地前进后退版本相关操作

Git与GitHub\GitLab的介绍和使用_第13张图片

git log --oneline	        显示历史版本信息  hash值前7位--代码注释
git log --pretty=oneline	显示历史版本信息  hash值--代码注释
git reflog	                显示所有版本信息  hash值前7位--指针--状态--代码注释
git reset --hard hash值	    根据hash值回退或前进到这个版本
git reset --hard HEAD	    将已经add的文件全部回退,其实就是当前版本不作修改
git reset --hard HEAD^	    回退一个版本
git reset --hard HEAD~n	    回退n个版本

4.5 Git本地比较文件相关操作

Git与GitHub\GitLab的介绍和使用_第14张图片

4.6 Git本地分支相关操作

4.6.1 Git本地分支示意图

Git与GitHub\GitLab的介绍和使用_第15张图片

4.6.2 Git本地分支命令

Git与GitHub\GitLab的介绍和使用_第16张图片

Git与GitHub\GitLab的介绍和使用_第17张图片

Git与GitHub\GitLab的介绍和使用_第18张图片

5.Git工作原理

  • Git底层采用的是 SHA-1 算法,保证数据完整性;

  • 以文件变更列表的方式存储信息,这类系统将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异;

  • Git 把数据看作是小型文件系统的一组快照。每次提交更新时Git 都会对当前的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。所以Git 的工作方式可以称之为快照流

  • Git分支管理的本质是创建和移动指针

Git与GitHub\GitLab的介绍和使用_第19张图片

到这里估计你肯定掌握本操作了,那么可以删除掉刚才的所有文件了,包括.git。

然后自己创建几个目录,我这里创建了3个

E:\zmjjobsGitWorkSpace 这个作为创建者使用

E:\zmj1314GitWorkSpace 这个作为成员使用

E:\zmj8888GitWorkSpace   这个作为外部组织使用          

下面的讲解从新开始。。。

6.Git与GitHub之间的操作

6.1 Git本地与外部代码托管中心GitHub交互图

Git与GitHub\GitLab的介绍和使用_第20张图片

6.2 Git与GitHub间操作详细步骤

注册账号很简单,我就不介绍了。官网地址:GitHub: Let’s build from here · GitHub

6.2.1 GitHub修改profile

Git与GitHub\GitLab的介绍和使用_第21张图片Git与GitHub\GitLab的介绍和使用_第22张图片

6.2.2 GitHub创建新项目

Git与GitHub\GitLab的介绍和使用_第23张图片

Git与GitHub\GitLab的介绍和使用_第24张图片

Git与GitHub\GitLab的介绍和使用_第25张图片

git remote add origin 远端git地址      给远端git地址起一个别名叫origin
git remote -v                         显示远端地址与别名
git push [-u] origin master             将代码推送到远端

Git与GitHub\GitLab的介绍和使用_第26张图片

6.2.3 Git成员用户操作

如果有邀请,一般会有邮箱提醒。如果没有可以直接找创建者要邀请链接也可以

Git与GitHub\GitLab的介绍和使用_第27张图片Git与GitHub\GitLab的介绍和使用_第28张图片

git fetch [远程库地址别名] [远程分支名]   抓取远端代码
git merge [远程库地址别名/远程分支名]     合并远端代码
git pull [远程库地址别名] [远程分支名]    拉取远端代码,相当于git fetch + git merge
git push [远程库地址别名] [远程分支名]    推送代码到远端

6.2.3 Git成员与成员间的操作

Git与GitHub\GitLab的介绍和使用_第29张图片

Git与GitHub\GitLab的介绍和使用_第30张图片

6.2.4 Git内部与外部组织的操作

Git与GitHub\GitLab的介绍和使用_第31张图片

Git与GitHub\GitLab的介绍和使用_第32张图片

Git与GitHub\GitLab的介绍和使用_第33张图片

Git与GitHub\GitLab的介绍和使用_第34张图片

Git与GitHub\GitLab的介绍和使用_第35张图片

Git与GitHub\GitLab的介绍和使用_第36张图片

6.2.4 Git SSH免密操作(如果操作系统支持自动免密就不用管了)

Git与GitHub\GitLab的介绍和使用_第37张图片

Git与GitHub\GitLab的介绍和使用_第38张图片

Git与GitHub\GitLab的介绍和使用_第39张图片

7. Eclipse使用Git

7.1 Eclipse的Git本地化

选中工程>右键>Team>Share Project>Git>>>

7.2 Eclipse的Git忽略文件

文件操作跟命令差不多,不介绍了,一看就会。这里主要说下Java语言的忽略文件。

首先在 .gitconfig文件加入内容,也就是指定忽略文件的地址,注意路径里面一定要使用 /

[core]
    excludesfile = C:/Users/Administrator/Java.gitignore

新建一个文件Java.gitignore,然后将Eclipse的Navigator视图打开,加入自己想忽略的文件或目录即可,当然别忘了重启Eclipse。参考网址  GitHub - github/gitignore: A collection of useful .gitignore templates

Git与GitHub\GitLab的介绍和使用_第40张图片Git与GitHub\GitLab的介绍和使用_第41张图片

# 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

7.3 Eclipse的Git工作流

Git与GitHub\GitLab的介绍和使用_第42张图片

7.3.1 模拟工作状态

  • 工程>右键>Team>Switch to>New branch>

Git与GitHub\GitLab的介绍和使用_第43张图片

  • 分支修改好文件后,推送到远端分支。如果成功后,远端分支会看到内容。

Git与GitHub\GitLab的介绍和使用_第44张图片Git与GitHub\GitLab的介绍和使用_第45张图片

  • master合并hotfix分支,如果是在本地则选择本地也可。如果是其他人修改,或者本地没有了,则合并远端分支

Git与GitHub\GitLab的介绍和使用_第46张图片

8. GitLab

这里以Centos7为例

8.1 安装依赖包

yum install policycoreutils openssh-server openssh-clients postfix
systemctl enable sshd
systemctl start sshd
systemctl enable postfix
systemctl start postfix

8.2 下载并安装rpm包

cd /usr/local/
mkdir rpm
cd rpm
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.7.5-ce.0.el7.x86_64.rpm --no-check-certificate

chown -R git:git /usr/local/rpm
yum install policycoreutils-python
rpm -ivh gitlab-ce-12.7.5-ce.0.el7.x86_64.rpm

8.3 修改配置文件

vim /etc/gitlab/gitlab.rb
#可以配置成公网IP,我这里是本地
external_url 'http://127.0.0.1:9345'

 8.4 重新加载并重启

  时间有点长,我上个厕所回来,还没完事

gitlab-ctl reconfigure
gitlab-ctl restart

8.5 页面访问Gitlab

输入服务器的IP地址访问即可。如果不能访问,请检查防火墙和配置信息

http://192.168.1.222:9345/

重置密码,比如111...aaa

Git与GitHub\GitLab的介绍和使用_第47张图片 

 Git与GitHub\GitLab的介绍和使用_第48张图片

 Git与GitHub\GitLab的介绍和使用_第49张图片

 

你可能感兴趣的:(开发工具,git,github,gitlab)