Git-【1】配置

1、Git能干什么

版本控制(个人数据的保存,团队协作的高效)、分支控制

2、Git简史

(1)Linux开源代码的合并,鲁纳斯本人研发了Git用于满足这个需求。

(2)优势:大部分操作在本地、完整性保证、快照形式增数据、分支操作流程、与Linux命令全面兼容

3、Git的结构

工作区(写代码)git add—>暂存区(临时存储)git commit—>本地库(历史版本)

4、Git与Github

(1)局域网:Gitlab

(2)外网环境:Github与码云

5、本地库与远程库

(1)团队内部协作

 (2)外部协作

 6、设置签名

git config --list #查看签名信息
git config --global user.name "HIT" #设置用户名
git config --global user.email "wdfgdzx@aliyun.com" #设置用户邮箱
ghp_5TLzhh34HAwvAh2Vr7REhJUdTZHwUJ3Unra$ #阿里云 1个月w
git config --local credential.helper "" #清空历史设置信息
#优先级:就近原则,项目级别 > 系统用户级别。如果都没有是不允许的

7、基本操作

git status #查看git状态
git add good.txt #添加到暂存区
git rm --cached good.txt #从暂存区取回
git commit -m "create good.txt" good.txt #保存到本地库

8、版本的前进与后退

git reflog #查看版本日志
#双击黄色部分即可复制
git reset --hard 6540676 #这样就可以轻松的切换想要的版本,牛批Plus,就算本地文件彻底删除,从历史版本中也可以找到

9、比较文件

vim apple.txt #编辑文本
git diff apple.txt #比较文本标记前后的区别(工作区与暂存区的进行比较)

10、分支管理

在一次开发中master是主分支,hot_fix是修复bug的分支,feature_blue是蓝色背景的分支,feature_game是游戏的分支。分支让多个功能同时进行,提高效率;如果出现一个分支失败,不会影响到其他分支。

git branch -v #查看当前分支
git branch hot_fix #创建hot_fix分支
git checkout hot_fix #切换到hot_fix分支
git branch -v #当前分支会变绿
git merge hot_fix #合并分支
#当不同分支出现同行合并内容不同时,会出现冲突
#需要手动修改冲突提示的文件并保存,然后用下面的
git add modify.txt #添加修改文件到暂存区
git commit -m "resolve conflict" #不带文件名,来提交解决

11、Git的基本原理

(1)明文—>加密算法—>密文

(2)完整性保证也是通过客户端加密VS服务端加密比对的一致性保证的

(3)版本管理的本质是快照+指针,分支管理的本质是指针

12、Github账号注册与头像修改

注意:不建议使用163邮箱,有的信息可能收不到

13、本地库与远程库的交互

 (1)远程库的创建

 (2)本地关联远程库

https://github.com/yuebuqun163/jianpu.git #岳创建的远程地址
git remote -v #查看远程库地址信息
git remote add origin https://github.com/yuebuqun163/jianpu.git #添加远程库地址
vim test.txt #修改文件
git add test.txt #添加到暂存区
git commit -v "create test.txt" test.txt #添加到本地库
git push origin master #推送到远程仓库,首次推送需要输入Personal access tokens(从github获取)
#另一种方式是直接克隆
git clone https://github.com/yuebuqun163/jianpu.git #直接克隆远程仓库
cd 仓库目录 #切换到仓库目录

 (3)邀请团队内成员加入项目

被邀请成员会收到邮件地址,打开地址接受即可拥有对此项目的push权限。

(4)远程库(可能包括信息修改)的拉取到本地

#pull = fetch + merge
git pull origin master #直接pull到本地,建议使用这个
git fetch origin master #先fetch
git merge origin/master #后merge

(5)协同开发时冲突的解决(远程库不同人操作)

#如果提交远程时,发现冲突
git pull origin master #直接pull到本地,建议使用这个
vim test.txt #编辑保存退出
git add test.txt #添加到暂存区
git commit -m "resolve conflict" #提交版本到本地仓库
git push origin master #推到远程库
#感受一个例子
#老刘借给小王1W元,告诉小王10天后归还
#老刘的妻子知道借钱但是不知道老刘说的期限后,要求小王5天后归还
#小王就相当于github,他不能接受老刘妻子的请求
#此时老刘妻子要先获取老刘的信息(git pull origin master)
#然后和老刘协商出结果为10天,修改协议 vim test.txt
#添加、本地库、最终提交远程库,小王github接受

14、跨团队协作流程

 (1)项目的fork

https://github.com/yuebuqun163/jianpu.git  #岳创建的项目地址
#东方不能直接拉去,登录自己账户后,先进入上述地址fork一下,注意观察地址栏变化

 (2)关联自己的远程库

https://github.com/dongfangbubai126/jianpu.git #东方fork的地址
git remote -v #查看远程库地址信息
git remote add origin https://github.com/dongfangbubai126/jianpu.git #添加远程库地址
vim test.txt #修改文件
git add test.txt #添加到暂存区
git commit -v "create test.txt" test.txt #添加到本地库
git push origin master #推送到远程仓库,首次推送需要输入Personal access tokens(从github获取)
# push不好用的时候,一定要ipconfig /flushdns
#另一种方式是直接克隆
git clone https://github.com/dongfangbubai126/jianpu.git #直接克隆远程仓库
cd 仓库目录 #切换到仓库目录

(3)New pull request

 

 

 (4)登录岳的账号审核

 

 

 

git pull origin master #最后岳拉取自己的项目到本地即可

 15、Git工作流

SVN式工作流、团队内协作(邀请)、团队外协作(fork and pull request

16、分支流说明

 17、Gitlab服务器搭建

(1)配置Linux固定的IP地址

cd /etc/sysconfig/network-scripts/ #切换目录
ls -l #找到ifcfg-XXX文件并打开编辑
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  #重要
DEFROUTE=yes  #重要
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp3s0
UUID=ac2edfe1-9923-415c-add7-6b1078d8a684
DEVICE=enp3s0
ONBOOT=yes
IPADDR=192.168.105 #重要
GATWAY= 192.169.70.2 #重要
DNS=192.168.70.2 #重要

 (2)安装Gitlab

yum -y install wget #安装wget
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm #下载镜像
yum install firewalld systemd -y #装防火墙
service firewalld  start  #启动防火墙
yum install -y curl policycoreutils-python openssh-server #安装ssh协议
systemctl enable sshd #设置ssh自启动
firewall-cmd --permanent --add-service=http #添加HTTP服务到firewalld
firewall-cmd --permanent --add-service=https #添加HTTPS服务到firewalld
systemctl reload firewalld #重启防火墙
yum install postfix #安装Postfix以发送通知邮件
systemctl enable postfix #将postfix服务设置成开机自启动
systemctl start postfix #启动postfix
yum install vim -y #安装vim编辑器
rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm #安装Gitlab的rpm包
vim  /etc/gitlab/gitlab.rb #修改配置文件
#修改访问URL
#格式:external_url 'http://ip:端口'
#external_url 'http://192.168.0.105:8099'
#配置时区
#gitlab_rails['time_zone'] = 'Asia/Shanghai'
#unicorn['port'] = 8001
#postgresql['shared_buffers'] = "256MB"
#postgresql['max_connections'] = 200
firewall-cmd --zone=public --add-port=8080/tcp --permanent #开放端口
firewall-cmd --reload #重启防火墙
gitlab-ctl reconfigure #重新配置Gitlab
gitlab-ctl restart #启动Gitlab
gitlab-ctl stop #停止Gitlab
#最后访问http://192.168.0.105:8099/
systemctl disable gitlab-runsvdir.service # 禁止Gitlab开机自启动
enable gitlab-runsvdir.service # 启用Gitlab开机自启动

18、IDEA INTELLIJ、PYCHARM配置GIT

# 先安装Git
# File-Setting-Version Control-选择Git-bin-git.exe
# File-New-Project from version control-GitHub-use token
# VSC-enable version control integration-ok
# VSC-Operations Popup-commit-全选-commit
# VSC-Git-push-输入地址XXX.git-push
# 如果执行报错,打开项目所在git,执行git pull origin master --allow-unrelated-histories然后再push
----------------------------------
# PyCharm
File -> Settings -> Version Control -> Git-选择Git-bin-git.exe
VCS -> Checkout from Version Control -> Git-use token login
# 上方有git按钮,可以进行add、commit、push、pull、clone操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值