zxpnet网站 zxpnet网站
首页
前端
后端服务器
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

zxpnet

一个爱学习的java开发攻城狮
首页
前端
后端服务器
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • idea ide安装
  • ssh常用软件
  • typora安装与使用
  • sts安装
  • git使用
    • 一、git原理和svn的区别
      • A、将本地项目目录提交到远程仓库步骤
      • 1、初始化git本地项目
      • 2、远程建立git项目
      • 3、添加文件
      • 4、提交到本地仓库
      • 5、push到远程仓库
      • B、分支相关操作
      • C、状态
    • 二、git与gitlab安装
      • 安装git
      • 安装gitlab
      • 安装环境依赖
      • 修改yum源
      • 下载gitlab后上传到服务器
      • 配置gitlab
      • gitlab卸载与重装
      • 常见问题
      • 端口占用:
      • 报502错误
      • 添加用户、用户组
    • 三、git的日常使用和分支管理
    • 添加生成ssh公钥
    • gitee平台规则
    • 提交第一行代码
      • 方法1、先将仓库clone到本地,修改后再push到 Gitee 的仓库
      • 方法2、本地初始化一个仓库,设置远程仓库地址后再做push
      • 参考文章:
    • github访问慢的问题
    • git工作流
    • gitee常见问题
  • jenkins基础
  • 黑客攻防
  • Docker安装centos7服务器常用软件
  • 软件小技巧
  • notepad小技巧
  • nginx配置
  • 百度网盘不限流
  • win10常用软件安装
  • 内网穿透软件
  • 常用浏览器的安装与使用
  • 数据库设计软件
  • ftp服务器
  • windows中制作cmd脚本
  • 安装vscode
  • soft
shollin
2021-06-15
目录

git使用

  • 一、git原理和svn的区别
    • A、将本地项目目录提交到远程仓库步骤
    • B、分支相关操作
    • C、状态
  • 二、git与gitlab安装
    • 安装git
    • 安装gitlab
  • 三、git的日常使用和分支管理
  • 添加生成ssh公钥
  • gitee平台规则
  • 提交第一行代码
  • github访问慢的问题
  • git工作流
  • gitee常见问题

# 一、git原理和svn的区别

img

image-20210906142627119

git原理图解 - 灰太郎^_^ - 博客园 (cnblogs.com) (opens new window)

# A、将本地项目目录提交到远程仓库步骤

# 1、初始化git本地项目

git init
1

# 2、远程建立git项目

# 3、添加文件

git remote add origin git@gitee.com:shollin/front-learn.git #origin可以随便取,用它来代表远程仓库的地址
git add . #提交当前目录   git add -A
1
2

# 4、提交到本地仓库

$ git commit -a -m "第一次提交"  #-a表示所有文件
1

# 5、push到远程仓库

git remote #查看有哪些远程仓库 -v 
git push origin master # 提交master分支到origin远程仓库,第一次push,加上-u
1
2

如果本地有文件,远程分支也有新文件,则拉取的时候,要进行合并,git pull,git feach提醒fatal: refusing to merge unrelated histories

git pull origin master --allow-unrelated-histories #拉取master分支,并跟本地合并
1

# B、分支相关操作

git checkout dev|master  # 切换分支branch,切换后只会显示当前分支的内容,其它分支的内容看不到
git branch #查看所有分支
git branch test #创建本地test分支
git branch -d <branchname> # 删除分支
1
2
3
4

# C、状态

git status #查看状态
git log #查看日志,可以带 --stat
1
2

# 二、git与gitlab安装

# 安装git

yum install git #这种方式安装的git版本较低,为1.8.X
1

源码安装

#安装环境依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
1
2

下载git,并上传到服务器 Releases · git/git (github.com) (opens new window)

wget https://github.91chifun.workers.dev/https://github.com//git/git/archive/refs/tags/v2.33.0.tar.gz
tar -zxvf git-2.33.0.tar.gz
cd git-2.33.0
make prefix=/usr/local/git all #编译
make install prefix=/usr/local/git  #安装到指定目录

yum remove git -y #移除yum安装的git,其版本较低为1.8.X
vi /etc/profile
export GIT_HOME=/usr/local/git

source /etc/profile
git --version #查看git的版本
1
2
3
4
5
6
7
8
9
10
11
12

# 安装gitlab

Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror (opens new window)

# 安装环境依赖

yum install -y curl policycoreutils-python openssh-server perl postfix
systemctl enable sshd
systemctl start sshd

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
systemctl reload firewalld

yum install postfix
systemctl enable postfix
systemctl start postfix
1
2
3
4
5
6
7
8
9
10
11

参考: Download and install GitLab | GitLab (opens new window)

# 修改yum源

新建 vi /etc/yum.repos.d/gitlab-ce.repo,内容为

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

再执行
sudo yum makecache
sudo yum install gitlab-ce  #yum install gitlab-ce-10.8.7 #安装指定版本
1
2
3
4
5
6
7
8
9
10
11

参考:gitlab安装配置,里面相当多的坑,已排除_哔哩哔哩_bilibili (opens new window)

# 下载gitlab后上传到服务器

rpm -ivh gitlab-ce-10.8.7-ce.0.el7.x86_64.rpm #gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm  gitlab-ce-12.9.9-ce.0.el7.x86_64.rpm
# i=install 安装 v=verbose 提示 h=hash  进度条
1
2

# 配置gitlab

vi /etc/gitlab/gitlab.rb
external_url 'http://192.168.56.160:18000' #修改访问的地址,如git.yemey.cn  端口在nginx位置设置
nginx['listen_port'] = 18000  #修改nginx的监听端口,与上面一样
unicorn['worker_processes'] = 2  #设置cpu工作线程数量,官方建议该值是CPU核心数加一
unicorn['port'] = 9091

gitlab-ctl reconfigure  #配置,修改之后使用如下命令重新加载配置且同时启动gitlab所有服务, 要运行较长时间
1
2
3
4
5
6
7

初始账户: root 密码:5iveL!fe

命令 含义
gitlab-ctl start 启动全部服务
gitlab-ctl restart 重启全部服务
gitlab-ctl stop 停止全部服务
gitlab-ctl restart nginx 重启单个服务,如重启nginx
gitlab-ctl status 查看服务状态
gitlab-ctl reconfigure 使配置文件生效
gitlab-ctl show-config 验证配置文件
gitlab-ctl uninstall 删除gitlab(保留数据)
gitlab-ctl cleanse 删除所有数据,从新开始
gitlab-ctl tail 查看服务的日志
gitlab-ctl tail nginx 如查看gitlab下nginx日志
gitlab-rails console 进入控制台

参考: CentOS7下yum安装GitLab-CE - 三度 - 博客园 (cnblogs.com) (opens new window)

# gitlab卸载与重装

yum remove gitlab-ce
rpm -qa | grep gitlab #查出
rpm -e gitlab-ce-12.9.9-ce.0.el7.x86_64

ps aux|grep gitlab
rm -rf /opt/gitlab
rm -rf /var/log/gitlab
rm -rf /etc/gitlab
1
2
3
4
5
6
7
8

彻底卸载GitLab并重装_jia12216的专栏-CSDN博客_gitlab卸载 (opens new window)

# 常见问题

# 端口占用:

使用netstat -ntpl查看端口,需要更换配置文件里得到端口,并且执行gitlab-ctl reconfigure gitlab-ctl restart 就可以解决

unicorn服务与tomcat端口冲突,配置下unicorn使用端口应该就可以了, unicorn会占用8080端口

unicorn['port'] = 9091
1
# 报502错误
  • free -m查看内存, gitlab13需要4G内存以上,cpu一核也可以

  • gitlab-ctl start 较耗时,控制台上显然有打印,但实际上还没有启动好,需等时间

自建gitlab服务器502错误解决方案_眼眸刻着你的微笑的技术博客_51CTO博客 (opens new window)

【Git学习】解决GitLab内存消耗大的问题_欧阳鹏-CSDN博客_gitlab内存占用过高 (opens new window)

# 添加用户、用户组

Gitlab用户在组里面有5种不同权限:

Guest:可以创建issue、发表评论,不能读写版本库 Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限 Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限 Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限 Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限

# 三、git的日常使用和分支管理

1、忽略文件

在.gitignore里面添加即可,如果文件已add到暂存区中,它不会被忽略,需要先从暂存区删除

git rm --cache *.iml
1

2、rebase和merge的区别

rebase会把之前分支的提交记录一起在当前重新再提交一次,而merge就只是合并产生新的提交

3、stash 保存进度

4、常用命令

git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示远程库origin里的资源 git push origin master:develop git push origin master:hb-dev 将本地库与服务器上的库进行关联 git checkout --track origin/dev 切换到远程dev分支 git branch -D master develop 删除本地库develop git checkout -b dev 建立一个新的本地分支dev git merge origin/dev 将分支dev与当前分支进行合并 git checkout dev 切换到本地dev分支 git remote show 查看远程库 git add . git rm 文件名(包括路径) 从git中删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户 git ls-files 看已经被提交的 git rm [file name] 删除一个文件 git commit -a 提交当前repos的所有的改变 git add [file name] 添加一个文件到git index git commit -v 当你用-v参数的时候可以看commit的差异 git commit -m "This is the message describing the commit" 添加commit信息 git commit -a -a是代表add,把所有的change加到git index里然后再commit git commit -a -v 一般提交命令 git log 看你commit的日志 git diff 查看尚未暂存的更新 git rm a.a 移除文件(从暂存区和工作区中删除) git rm --cached a.a 移除文件(只从暂存区中删除) git commit -m "remove" 移除文件(从Git中删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除) git diff --cached 或 $ git diff --staged 查看尚未提交的更新 git stash push 将文件给push到一个临时空间中 git stash pop 将文件从临时空间pop下来

参考: Git 常用命令大全_道的博客-CSDN博客_git常用命令 (opens new window)

# 添加生成ssh公钥

ssh-keygen -t ed25519 -C "qq578521128@163.com"
# 回车三次即可

cat ~/.ssh/id_ed25519.pub   #查看公钥
1
2
3
4

# gitee平台规则

个人开发者可免费创建 1000 个仓库(不限公有、私有),提供最多 5G 的免费代码存储空间

# 提交第一行代码

在创建完仓库之后,用户可以通过如下方式,可以向仓库提交第一行代码。

此处我们以用户账号下命名为 HelloGitee 的仓库为例。对应的仓库地址为:https://gitee.com/用户个性地址/HelloGitee.git,在实际实践中,你可以将用户个性地址替换为自己的地址。

# 方法1、先将仓库clone到本地,修改后再push到 Gitee 的仓库

$ git clone https://gitee.com/用户个性地址/HelloGitee.git #将远程仓库克隆到本地
1

在克隆过程中,如果仓库是一个私有仓库,将会要求用户输入 Gitee 的账号和密码。按照提示输入即可。

当然,用户也可以通过配置本地的git配置信息,执行git config命令预先配置好相关的用户信息,配置执行如下:

$ git config --global user.name "你的名字或昵称"
$ git config --global user.email "578521128@qq.com"
$ git config --list

# 生成ssh key,C:\Users\Administrator\.ssh目录下
ssh-keygen -t rsa -C "578521128@qq.com"

1
2
3
4
5
6
7

在 Gitee 平台中,强烈建议您在【设置-多邮箱管理】中的“提交邮箱”与上面配置信息中的邮箱地址保持一致,这样平台就能及时地统计您在平台中提交代码的贡献了。

修改代码后,在仓库目录下执行下面命令

$ git add . #将当前目录所有文件添加到git暂存区
$ git commit -m "my first commit" #提交并备注提交信息
$ git push origin master #将本地提交推送到远程仓库
1
2
3

# 方法2、本地初始化一个仓库,设置远程仓库地址后再做push

和方法1的差别,在于先创建仓库。

$ git init 
$ git remote add origin https://gitee.com/用户个性地址/HelloGitee.git
1
2

这样就完成了版本的一次初始化。 接下去,进入你已经初始化好的或者克隆仓库的目录,然后执行:

$ git pull origin master
1

修改/添加文件,否则与原文件相比就没有变动。

$ git add .
$ git commit -m "第一次提交"
$ git push origin master
1
2
3

然后如果需要账号密码的话就输入账号密码,这样就完成了一次提交。此时,你可以在你的个人面板、仓库主页查看到你的提交记录。

在新建仓库时,如果在 Gitee 平台仓库上已经存在 readme 或其他文件,在提交时可能会存在冲突,这时用户需要选择的是保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令(默认不推荐该行为):

$ git push origin master -f
1

如果您选择保留线上的 readme 文件,则需要先执行:

$ git pull origin master
1

# 参考文章:

Gitee使用方法 (opens new window) 提交第一行代码 - Gitee.com (opens new window) Git教程 - 廖雪峰 (opens new window)

# github访问慢的问题

原理: 查出github的dns地址,然后设置本地的hosts地址为它,最后刷新dns缓存

1、访问 http://tool.chinaz.com/dns/ ,在输入框中填写 github.com github.global.ssl.fastly.net,然后点击检测按钮,会列出响应ip

也可以通过 https://www.ipaddress.com/ 查询 IP

2、编辑C:\Windows\System32\drivers\etc\hosts文件,将列出的响应IP写入该文件中

52.192.72.89 github.com
52.69.186.44 github.com
1
2

3、在cmd命令行执行 ipconfig /flushdns ,刷新DNS缓存

ipconfig /flushdns
1

4、以上还是不行的话,重置dns网络

netsh winsock reset
1

# git工作流

先拉取最新的 develop 分支,然后以最新的 develop 为基准创建两个新的功能分支 feature/f1 和 feature/f2;

git pull origin develop
git checkout -b feature/f1 develop
1
2

合并分支

git merge --no-ff <分支名feature/f2>
1

删除分支

git branch -D <分支名feature/f2>
1

image-20210717084631149

参考文章:

理解 Git 分支管理最佳实践 - 唐小堂 - 博客园 (cnblogs.com) (opens new window)

# gitee常见问题

解决Please make sure you have the correct access rights and the repository exists 问题 (opens new window)

#git
sts安装
jenkins基础

← sts安装 jenkins基础→

最近更新
01
国际象棋
09-15
02
成语
09-15
03
自然拼读
09-15
更多文章>
Theme by Vdoing | Copyright © 2019-2023 zxpnet | 粤ICP备14079330号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式