Git与GitHub\GitLab的介绍和使用

1.历史

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

2.Git的优势

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

3.Git的安装

Git的下载地址   Git

4.Git本地操作

4.1 打开终端Git Bash

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

4.3 Git本地提交相关操作

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

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

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本地比较文件相关操作

4.6 Git本地分支相关操作

4.6.1 Git本地分支示意图

4.6.2 Git本地分支命令

5.Git工作原理

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

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

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

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

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

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

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

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

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

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

6.Git与GitHub之间的操作

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

6.2 Git与GitHub间操作详细步骤

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

6.2.1 GitHub修改profile

6.2.2 GitHub创建新项目

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

6.2.3 Git成员用户操作

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

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

6.2.3 Git成员与成员间的操作

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

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

cd ~
#给指定的邮箱创建ssh密钥
ssh-keygen -t rsa -C dream98job@126.com
cd ~/.ssh
ls
#id_rsa  id_rsa.pub  known_hosts
cat id_rsa.pub
#ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDBFVn96nArLHItc5rkHCaBhKQNeDOnuIY9iGEdPb+d7044roOwCokADNWzrNAyppihMBY5+m5vK/CJqmd7w6SP/PPjqQBSeSuJpzgTdZrvI0aWvmdC/+JUxPS3OVkFRZcMNmqq/lXfE8CyCI2U5IOkat45ZiiRfxFQl9RXhn9oeAt4n+qioFbkONbmMUcyEWI0/7NIL6UteWBFTzASvDnEUlzecNgsZCWyE9UXx2wF4KaCeLNTiLjYovDxOv4ObrUxW8+bQx8Lc6D++PQs/zXru0P55CfGK6OJOUS6uEoMvt1QgcrdZ332MvAb8f+tyOhIpSoVw6InN1VD8DYptNfRx3nM8QSA/E/xHjjeZ8Pe9i/rb2SBTrr9rLcy8/ulF4t2Z1wiBsXxp/S5q3qrOP+mGHXKLPk94nWwh+aQLfeY6KzvyMxhG5m1d2dXdgBwHO0MS3hL+fiIDgtg/uaSWYSNdQUc2KuMslLDJYLiS9baiIZazXdbhorhDTlAJkf8sSM= dream98job@126.com

点击头像 > Settings > SSH and GPG keys 

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

# 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工作流

7.3.1 模拟工作状态

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

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

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

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

 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱梦君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值