git的一些知识

目录

 1.Git 安装

2.Git的常用命令

 设置用户签名​编辑

 初始化本地库

 查看本地库状态

 添加暂存区

 提交本地库

 查看历史版本

 Git 分支操作

查看分支 

 创建分支

 切换分支

 合并分支

 产生冲突

 解决冲突

3.Git 团队协作机制

4.github操作

创建远程仓库

远程仓库操作

 创建远程仓库别名

 推送本地分支到远程仓库

 克隆远程仓库到本地

邀请加入团队

 拉取远程库内容

 跨团队协作

 SSH 免密登录

IDEA 集成 Git

 配置 Git 忽略文件 

定位 Git 程序

初始化本地库

 添加到暂存区

 提交到本地库

 切换版本

 创建分支

 切换分支

​编辑 合并分支

IDEA 集成 GitHub  

设置 GitHub 账号

分享工程到 GitHub

push 推送本地库到远程库

pull 拉取远程库到本地库

 clone 克隆远程库到本地

 国内代码托管中心-码云

IDEA 集成码云

 码云复制 GitHub 项目

 自建代码托管平台-GitLab

 IDEA 集成 GitLab


git工作机制

 Git 和代码托管中心

 1.Git 安装

        官网地址: https://git-scm.com/

        查看 GNU 协议,可以直接点击下一步。 

 

 

 

 

 

 

 

 

 

 点击 Finsh 按钮,Git 安装成功!

 

 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功

 

2.Git的常用命令

 设置用户签名

说明:
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看
到,以此确认本次提交是谁做的。 Git 首次安装必须设置一下用户签名,否则无法提交代码。

 初始化本地库

 

 查看本地库状态

新增文件(hello.txt

 再次查看(检测到未追踪的文件)

 添加暂存区

git add 文件名

 

 提交本地库

git commit -m " 日志信息 " 文件名

 查看状态(没有文件需要提交)

修改文件 

 

 查看状态(检测到工作区有文件被修改)

 将修改的文件再次添加暂存区

 查看状态(工作区的修改添加到了暂存区)

 查看历史版本

 版本穿梭

git reset --hard 版本号

 

 Git 分支操作

什么是分支

分支的好处
同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败
的分支删除重新开始即可。
分支的操作

查看分支 

 git branch -v

 创建分支

git branch 分支名

 切换分支

git checkout 分支名

 合并分支

git merge 分支名

 案例实操 在 master 分支上合并 hot-fix 分支

 产生冲突

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

 

 

冲突产生的原因:
合并分支时,两个分支在 同一个文件的同一个位置 有两套完全不同的修改。 Git 无法替
我们决定使用哪一个。必须 人为决定 新代码内容

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

 解决冲突

1.编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号: <<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

 

2.添加到暂存区

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

 创建分支和切换分支图解

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

3.Git 团队协作机制

团队内协作

 跨团队协作

 

4.github操作

创建远程仓库

 

远程仓库操作

 

 创建远程仓库别名

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

 

 推送本地分支到远程仓库

git push 别名 分支

 

 克隆远程仓库到本地

        git clone 远程地址

 

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

邀请加入团队

选择邀请合作者

 填入想要合作的人

复 制 地 址 并 通 过 微 信 钉 钉 等 方 式 发 送 给 该 用 户 , 复 制 内 容 如 下 :
https://github.com/atguiguyueyue/git-shTest/invitations

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

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

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

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

 拉取远程库内容

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

 跨团队协作

将远程仓库的地址复制发给邀请跨团队协作的人

在受邀请的 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork 将项目叉到自
己的本地仓库。

 叉入中

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

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

 

 编辑完毕后,填写描述信息并点击左下角绿色按钮提交。

 

 接下来点击上方的 Pull 请求,并创建一个新的请求。

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

 进入到聊天室,可以讨论代码相关内容。

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

 SSH 免密登录

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

 具体操作如下:

 复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→SettingsSSH and GPG keys

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

IDEA 集成 Git

 配置 Git 忽略文件 

 为什么要忽略他们?

与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之
间的差异
创建忽略规则文件 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
.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)

定位 Git 程序

初始化本地库

 添加到暂存区

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

 提交到本地库

 切换版本

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

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

 创建分支

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

 在弹出的 Git Branches 框里,点击 New Branch 按钮。

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

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

 切换分支

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

然后在 IDEA 窗口的右下角看到了 master ,说明 master 分支切换成功。

 合并分支

IDEA 窗口的右下角,将 hot-fix 分支合并到当前 master 分支。

如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动
提交本地库

 手动合并完代码以后,点击右下角的 Apply 按钮。

 代码冲突解决,自动提交本地库

IDEA 集成 GitHub  

设置 GitHub 账号

 

然后去 GitHub 账户上设置 token

 

 

 点击生成 token

 复制红框中的字符串到 idea 中。

点击登录。

分享工程到 GitHub

 

push 推送本地库到远程库

右键点击项目,可以将当前分支的内容 push GitHub 的远程仓库中。

 

 

 

注意: push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,
push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程
库的版本高! 因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地
代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地
代码更新到最新以后,然后再修改,提交,推送!

pull 拉取远程库到本地库

右键点击项目,可以将远程仓库的内容 pull 到本地仓库。

 

注意: pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动
合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

 clone 克隆远程库到本地

clone 下来的项目创建一个工程,然后点击 Next 

 

 

 

 国内代码托管中心-码云

最后根据需求选择分支模型,然后点击创建按钮。 

 远程库创建好以后,就可以看到 HTTPS SSH 的链接。

IDEA 集成码云

 Idea 重启以后在 Version Control 设置里面看到 Gitee,说明码云插件安装成功。

 然后在码云插件里面添加码云帐号,我们就可以用 Idea 连接码云了。

 IDEA 连接码云

 自定义远程库链接。

 给远程库链接定义个 name,然后再 URL 里面填入码云远程库的 HTTPS 链接即可。码云服务器在国内,用 HTTPS 链接即可,没必要用 SSH 免密链接

 然后选择定义好的远程链接,点击 Push 即可

 看到提示就说明 Push 远程库成功。

去码云远程库查看代码

 码云复制 GitHub 项目

 GitHub 的远程库 HTTPS 链接复制过来,点击创建按钮即可。

 如果 GitHub 项目更新了以后,在码云项目端可以手动重新同步,进行更新!

 

 自建代码托管平台-GitLab

安装包准备

https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

Yum 在线安装 gitlab- ce 时,需要下载几百 M 的安装文件,非常耗时,所以最好提前把
所需 RPM 包下载到本地,然后使用离线 rpm 的方式安装。

编写安装脚本

vim gitlab-install.sh
sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo yum install -y postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce
给脚本增加执行权限

 然后执行该脚本,开始安装 gitlab-ce。注意一定要保证服务器可以上网

 初始化 GitLab 服务

执行以下命令初始化 GitLab 服务,过程大概需要几分钟,耐心等待

启动 GitLab 服务

执行以下命令启动 GitLab 服务,如需停止,执行 gitlab-ctl stop

使用浏览器访问 GitLab
使用主机名或者 IP 地址即可访问 GitLab 服务。需要提前配一下 windows hosts 文件。
首次登陆之前,需要修改下 GitLab 提供的 root 账户的密码,要求 8 位以上,包含大小
写子母和特殊符号。因此我们修改密码为 venus .123456

 GitLab 创建远程库

 

 IDEA 集成 GitLab

安装 GitLab 插件

 push 本地代码到 GitLab 远程库

自定义远程连接
注意: gitlab 网页上复制过来的连接是: http:// gitlab.example.com /root/git-test.git
需要手动修改为: http:/ /gitlab-server /root/git-test.git
选择 gitlab 远程连接,进行 push

首次向连接 gitlab,需要登录帐号和密码,用 root 帐号和我们修改的密码登录即可。  

只要 GitLab 的远程库连接定义好以后,对 GitLab 远程库进行 pull clone 的操作和
Github 和码云一致,此处不再赘述。
  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值