GIT学习0基础到入门(附图)

GIT学习

1.git 常用命令代码
提交,或者修改代码到暂存区
git add

2.设置签名
git config user.name JackMa
git config user.email 13187362159@163.com

3.返回系统+目录
cd ~

4.设置系统git签名(/c/Users/ponyMa/.gitconfig)
git config --global user.name JackMa
git config --global user.email 13187362159@163.com

5.查看隐藏目录结构
ls -la 或者 ll -la 或者 ls -la||less

6.查看工作区,暂存区 文件当前的状态
git status

7.删除文件
git rm —cached 文件名 ( git rm --cached good.txt 移除git暂存区的文件)
图解7 git rm ---cached

rm aaa.txt(删除指定 aaa.txt 是文件名)
图解7 rm  git reset

8.提交git暂存区中的文件
git commit 文件名( git commit good.txt 要进入)
git commit -m “update” good.txt(以直接写注释的方式提交)
git commit -m “update”(提交暂存区中的所有文件,不带文件名)
图解8

9.查看提交文件的日志(历史记录)
git log(查看文件提交的历史记录)
git log --pretty=oneline(日志按一行的模式显示)
git log --oneline(显示更加简洁)
git reflog(HEAD@{移动到当前版本的步数} 回退到某个版本需要移动几步)

10.回退指定当前文件的版本
git reset --hard 593a611 (593a611指定的版本号(可以用 git reflog命令查看))
git reset --hard ^^(只能向后回退3个版本,几个就向后回退几个版本)
git resret --hard head3(只能向后回退3个版本,可以指定数字是多少就向后回退几个版本)
git reset --soft 593a611 (593a611指定的版本号只是移动了本地库的版本号(可以用 git reflog命令查看))
git reset --mixed 1ff49dd(1ff49dd指定的版本号只是移动了本地库和暂存区的版本号(可以用 git reflog命令查看)))
git reset --hard head (删除操作未提交到本地库,可以回滚 )

10.比较文件的差异 图解10
git diff [文件名] (将工作区中的文件和暂存区进行比较文件)
git diff head^ [文件名] (和上一个文件比较)
git diff 31d6325 apple.txt(git diff [版本号] [文件名])
git diff (不带文件名比较多个文件)

11.分支操作
git branch 分支名 (创建分支)
git branch -v (查看所有分支)
git branch hot_fix(创建指定名称的分支)
git checkout hot_fix(切换分支,切换分支的时候一定要注意,当前的分支是否有文件未提交到工作区)
图解11 分支
git merge hot_fix(合并分支,前提需要切换到主分支上面git checkout hot_fix)

12.解决切换分支出现的问题
HEAD 当前分支的内容
进入编辑模式
DD 删除当前行
DD [参数] (参数可以输入3行,就删除3行)
PP 复制行
PP [参数](参数可以输入3行,就复制3行)

13 Git 加密算法底层采用的SHA-1算法
13.1 集中式版管理工具机制(svn)

13.1.1 保存每个文件变化的代码,以增量的方式保存,可以节约服务器的空间
13.1.2 分支:把所有的文件复制一份分支上。
13.2 分布式版管理工具机制(Git)
以快照的方式管理每个文件的版本.
分支:(新建分支)建一个指针,(切换分支)移动一个指针就好了.

14.指定查看某个文件的显示的行数
tail -n 显示的条数 文件名 (tail -n 10 good.txt 10 是显示的条数 good. txt 是文件名)

15.多屏显示方式
空格 向下翻页
b 向上翻页
q 退出

16.设置Git提交的命令
git remote -v 查看git地址
git remote add [别名] [git地址] 指定提交远程库的地址 (git remote add origin https://github.com/mahukang/huashan.git)
图解16

git push [别名] [分支名] 向远程库提交指定分支的文件(git push origin master 注意看下是否有新文件上传)
图解git push

git clone [地址] 克隆项目(目标需要复制 git clone https://github.com/mahukang/huashan.git
)

1.好处:完整的把远程库下载到本地,2.创建origin远程地址别名,3.初始化本地库
图解16 git clone
git fetch [别名] [分支名] 拉取远程库指定分支的文件(git push origin master 注意看下是否有新文件上传)
git log -p master… origin/master 从远程的origin仓库的master分支下载代码到本地的origin master
git checkout origin/master 查看拉取后未合并的文件(注意一定要执行拉取命令后在看)
图解16 git checkout

git merge [远程别名]/[远程分支名] 合并代码 (git merge origin/master 远程下载下来的代码合并到本地仓库,远程的和本地的合并)
git pull [远程别名] [远程分支名] 从远程库拉取文件到本地 (git pull origin master 前提是不起冲动的情况下,执行这个命令,否则执行git push origin master,在执行git merge origin/master即可达到同样的效果)
图解16 git pull

17.Git加入成员
设置—>协作者–>添加用户
图解17

18.跨团队协作操作
新建一个账号 1421731820@qq.com
没有权限提交(因为此时的账号是13187362159@163.com)
图解18 没权限

解决权限的问题,到控制面板—>用户账户–>管理windows凭证–>删除git网站的凭证即可重新输入你拥有该网站的提交权限图解18 解决没有权限
访问者git网站–>pull request–>Create pull request图解18 Create pull request
图解18

属于者git网站–>pull reques–>点击需要提交的文件
图解19

合并代码 Merger pull request(点击没有反应的话,建议用chrome)
图解20 pull reques>>点击 Confirm merge
图解21 Confirm merge

19.配置免密登陆
1.进入到根目录 cd ~

2.检查目录 cd .ssh/

2.1 没有 就执行ssh-keygen -t rsa -C 13187362159@163.com
2.2 有 执行进入目录执行ls -lf
图解22 生成密钥

3.查看SSH密钥 cat id_rsa.pub 图解23

4.进入Git网站 配置免密登陆
图解24

5.复制SSH免密登陆的地址
图解25

6.创建免密库 git remote add origin_ssh git@github.com:mahukang/huashan.git
图解26 git remote add
图解27 git remote -v 查看git库

7.推送免密库
7.1此处注意不是git push origin master(未配置ssh密钥的库,这时还需要你输入账号和密码后才能提交)
图解28 git push  origin master
7.2正确做法 git push origin_ssh master
![图解29

  1. Elipse配置git

1.新建一个maven项目(注意不要在已经有的git目录下建项目,否则读不到配置)

1.1鼠标右键->>new ->>选择other–>Maven Project(按Ctrl+N的热键进入新建选项)
图解30 创建maven项目
1.2 New Maven Project 选择相对应的选项,下面有属性的解释
Create a simple project (skip archetype selection) :创建一个简单的项目(跳过对原型模板的选择)[默认勾选]
User default Workspace location:使用本地默认的工作空间
–Loaction:本地工作空间目录
Add project(s) to working set :增加项目到工作集
图解31 选项解释
1.2 填写相对应的项目配置
[外链图片转存失败(img-FSSf1qXc-1565534719924)(./1563093024760.png)]图解32 项目配置选项

项目配置选项简要说明
-------Group Id:组Id,针对一个项目的普遍唯一识别符。相当于我们日常使用的包名,例如:com.git.
-------Artifact Id:要新建的项目的名字
-------Version:版本号,默认0.0.1-SNAPSHOT
-------Packing:要将该项目生成什么类型,有jar,war,ejb,ear,rar,pom,maven-plugin,maven-archetype,osgi-bundle,eclipse-plugin
-------Name:名字(估计是模板的名字)
-------Description:说明
Parent Project(父项目)以之前的项目作为基础新建项目,点Browse出现(如图6:选择项目),可以以原有的项目作为基础新建,必须为Jar或者pom才行
1.3 创建web.xml文件 工程–>-->Java EE Tools -->Generate Deployment Descriptor Stub
图解33 创建web.xml文件

2.工程初始化为git本地库

2.1 工程–>Team–>sharProject–>git
图解34 项目初始化为git本地库

2.2 Create Repository
图解35 创建存储库
2.3 检查本地库是否初始化成功
图解36 初始化本地库

2.4 工程本地库设置签名
图解37 设置git提交签名

3.Eclipse中忽略文件

1.Eclipse特定文件
这些都是Eclipse为了管理我们创建的工程而维护的文件,和开发的代码没有直接关系。最好不要在Git中进行追踪,也就是说可以把他们忽略了。

.classpath 文件
.project 文件
.settings 目录下所有文件

2.为什么要忽略Eclipse特定文件呢?

同一团队中很难保证大家使用相同的IDE工具,IDE工具不同时,相关工程特定文件就有可能不同,如果这些文件加入版本控制,那么开发时很可能需要为了这些文件解决冲突。
图解38  版本工具多样化

3.GitHub官网样例文件
3.1 https://github.com/github/gitignore 找到Java.gitignore
图解38 git提交的配置文件
3.2 配置全局的javaGit提交忽略
图解39 Git文件详解

# 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

3.3 在~/.gitconfig 文件中引入上述文件

		excludesfile=C:/Users/ponyMa/Java.gitignore
[注意:这里路径中一定要使用"/",不要使用'\']

3.4 Eclipse检查特定文件是否生效?
图解40 Eclipse配置

3.5 推送到远程库
3.5.1 首先在Git上新建一个和项目名一样的库 (https://github.com/mahukang/TestGit.git)]
图解41 准备工作 创建远程库
3.5.2 Eclipse 推送设置
图解42 Eclipse推送步骤
3.5.3 输入账号和密码进行提交
图解42 设置账户和密码
3.5.4 添加到暂存区
图解43 添加到暂存区
3.5.5 添加提交说明
![图解44 设置提交注释
3.5.6 提交成功的提示
图解45 提交远程库

3.6 克隆工程
3.6.1 鼠标右键–>import–>import
图解46 导入步骤-1
3.6.2 配置远程库拉取的Git地址
![图解47 导入步骤-2
图解48 导入步骤-3
图解49 设置地址和账户,密码
图解50 选择分支
3.6.3 默认为 C:\Users\ponyMa\git\TestGit
图解51  选择项目的工作目录
3.6.4 选择导入项目的属性
图解52 工程属性选择:这里选择常规工程
3.6.5 转换成Maven项目
图解53 转换成maven项目
3.6.6 解决冲突 Merge Tool
图解54 解决冲突1
图解54 解决冲突2

4 分支实战
两个项目的目录:D:\git\TestGitProject\TestGit E:\baosight\Project\Git\TestGit

  1. 搭建GitLab服务器

1.安装CentOS-7 安装过程见本文https://blog.csdn.net/qq_24862137/article/details/100122590

2.配置外网规定ip cd /etc/sysconfig/network-scripts/

图解55 配置静态ip
3.重启网卡 service network restart 此处需要注意没有重启网卡是不生效的。
4.查看ip ifconfig

3.安装并配置必要的依赖关系
3.1 安装ssh sudo yum install -y curl policycoreutils-pythonopenssh-server

图解56  依赖进程-1
图解57  依赖进程-2
图解58  依赖进程-3
图解59  依赖进程-4
图解60  依赖进程-5 图解61  依赖进程-6

3.2 将SSH服务设置成开机自启动,安装命令:sudo systemctl enable sshd
3.3 启动SSH服务,安装命令:sudo systemctl start sshd

图解62 设置ssh的服务自启

3.4 安装防火墙 yum install firewalld systemd -y

图解63 安装防火墙进程-1 图解64 安装防火墙进程-2 图解65 安装防火墙进程-3 图解66 安装防火墙进程-4 图解67 安装防火墙进程-5 图解68 安装防火墙进程-6 图解69 安装防火墙进程-7 图解70 安装防火墙进程-8 图解71 安装防火墙进程-9 图解72 安装防火墙进程-10
3.5 开启防火墙 service firewalld start
图解73 开启防火墙

3.6 添加http服务到firewalld,pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效 sudo firewall-cmd --permanent --add-service=http

图解74 添加http服务

3.7 重启防火墙 sudo systemctl reload firewalld

图解75 重启防火墙

3.8 安装Postfix以发送通知邮件 sudo yum install postfix

图解76 安装Postfix邮件插件进程-1 图解77 安装Postfix邮件插件进程-2 图解78 安装Postfix邮件插件进程-3

3.9先检查一下wget 安装 wget -v 确保安装 wget yum -y install wget

图解79 安装wget
图解80 安装wget进程-1.图解81 安装wget进程-2

4.0 下载GitLab镜像源 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

图解82 下载GitLab镜像
4.1 安装GitLab镜像源 rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
这里需要等待一段时间 当看到GitLab图标的时候GitLab服务器就搭建好了[外链图片转存失败(img-iKfu9EGB-1566984443687)(./1565536124027.png)]

4.2 修改gitlab配置文件指定服务器ip和自定义端口 vim /etc/gitlab/gitlab.rb

[外链图片转存失败(img-GASQPPVM-1566984443688)(./1565536291709.png)]
记住切换root账户 命令: su root
进入编辑器后按“i”键进入编辑状态,ESC键退出编辑状态
退出并保存,命令输入“:wq”
ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口

4.3 改完配置重启GitLab

1.启动服务 gitlab-ctl reconfigure
[外链图片转存失败(img-bfCh94VJ-1566984443688)(./1565537371156.png)][外链图片转存失败(img-JRrsOAWA-1566984443689)(./1565537498758.png)]
2. 启动所有gitlab 组件 sudo gitlab-ctl restart
[外链图片转存失败(img-kpgPAHjm-1566984443689)(./1565537721762.png)]
3. 查看服务状态 sudo gitlab-ctl status
[外链图片转存失败(img-iVBoK7zi-1566984443689)(./1565537753159.png)]
4. 停止所有 gitlab 组件 sudo gitlab-ctl stop
[外链图片转存失败(img-68pA9rc9-1566984443690)(./1565537799746.png)]
5. 查看日志 gitlab-ctl tail
[外链图片转存失败(img-lpYdPi2t-1566984443690)(./1565538768506.png)]

4.4 访问GitLab注意此处是你前面配置的ip 192.168.1.53 初始账户: root 密码:5iveL!fe

[外链图片转存失败(img-ckpGmNX6-1566984443690)(./1565537919347.png)] mahukang
4.5 访问成功
[外链图片转存失败(img-msgKeWHD-1566984443691)(./1565538219064.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值