入门git 安装与基础操作笔记

第一步安装git

如果是windos环境直接官方去下载就可以了,可以使用阿里云的镜像去下载,安装完成后可以安装一个小乌龟git版本;
如果是Linux最简单是直接 yum 安装 git yum -y install git,如果对版本有特定的要求,就需要自己去下载对应的压缩包,解压编译安装了。

第二步克隆项目

这块针对的是有远程仓库的,需要去拉远程仓库的代码和分支库;如果是个人电脑本地使用,那么可以直接在项目目录里面 git init 直接初始化一个本地的仓库。(这块git仓库搭建的时候最好是空的文件夹,不然会报错,毕竟麻烦,可以先在空文件夹里面操作,后期将 .git 文件夹拷贝到对应项目中

cd 到项目文件夹中
git clone "项目地址" #默认是直接clone master 主分支
git clone -b "指定分支" "项目地址"

第三步配置git账号密码:

切换到项目里面 配置 git 的 config 文件,这样后期更新的时候就不用频繁的输入账号密码了,也可以配置密钥,这边就学了配置账号密码。

 cd 到项目文件夹中
 git config user.name "账号"
 git config user.password "密码"
 git config credential.helper store   #自动记忆账号密码
 #第一次 git pull 输入一次账号和密码后,后面 pull 就不用了

第四步宝塔配置核心

如果是开发环境,想偷懒,想让提交到 dev 分支的代码直接部署到服务器中,那么就需要做三件事情:
第一件事:如果是宝塔,直接在宝塔软件中安装 “宝塔WebHook” 安装号后,进行添加配置,配置后查看密钥,如果不是就要自己安装 hook 包了,我这边介绍的是宝塔方式。
入门git 安装与基础操作笔记_第1张图片
这块配置脚本,我的脚本不是很好,网上有 $i 的方式自动匹配,只要你的git 项目名称和文件夹名称一样,多个项目只要建立一个钩子就行。下面是我的钩子,只能单项目使用:

#!/bin/bash
echo "----------------------------------------------------------------------------"
#输出当前时间
date --date='0 days ago' " %Y-%m-%d %H:%M:%S"
echo "Start"
#git项目路径
gitPath="/www/wwwroot/项目/"  #项目文件夹地址
#gitHttp="[email protected]:cool89/xm.git"
gitHttp="http://1.2.5.7:3000/a/business.git" #项目的 git 地址
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git ./
                mv gittemp/* ./
                rm -rf gittemp
        fi
        #拉取最新的项目文件
        git fetch --all   #没加这个可能会出现文件更新了,内容没更新,检查可以看到pull的不是最新版本
        git reset --hard origin/dev  #需要更新的分支  dev  可以根据自己的分支去改
        git pull dev   #执行 拉取  dev 分支的代码 这要和上面的一样,分支自己定
        #设置目录权限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

网上很多脚本 在更新的地方,没有 “ git fetch --all ” 这块会由可能导致部分情况下更新了文件,但内容却不是最新版本,可以解决文件更新代码未更新问题。

入门git 安装与基础操作笔记_第2张图片

第二件事:在 gogs 或者 gitee 的后台仓库管理里面配置个 web钩子,这边的例子是 gogs 它和 gitee、github 都差不多,将查看密钥里面的连接复制到,推送地址里面,密钥文本输入对应webhook里面的密钥,点击保存就行了
入门git 安装与基础操作笔记_第3张图片

第三件事:配置完成后,重启宝塔的配置

/etc/init.d/bt restart  //这个操作是重启宝塔的配置项

另外一种自动部署的配置方式:这种配置时候git和项目在同一台服务器上

下面是gitee的一个例子,github配置也类似
入门git 安装与基础操作笔记_第4张图片
在post_receive 中添加下面的代码:

#!/bin/sh
DIR=/www/wwwroot/www.test.cn                 #此次为nginx服务器站点代码
git --work-tree=${DIR} clean -fd dev         #其中 dev 是分支,填写自己需要自动同步的分支
git --work-tree=${DIR} checkout --force dev  #同上,dev为分支

第五步 git 分支管理

git他强大的地方就在分支管理,这块你可以建多个分支,去对项目管理,常见的就是建一个 dev分支,用来作为开发环境的代码管理,开发完成后,测试没问题了,可以合并到 master 主分支正式环境;也有人是根据版本建分支,也有的是根据功能建分支,这块根据自己项目的实际情况进行创建。

命令 描述
git branch -a 查看所有的分支,其中第一行标 “*” 的分支名称表示当前项目所属的分支
git checkout “分支名” 切换分支,切换后可以用上一个命令查看分支是否切换成功了
git push -u origin "分支名称" 将本地新建的分支推送到远程仓库,这样远程也会有这个分支

git最常用七个命令

git 还有很多命令,小伙伴们可以自己百度查看,了解使用的细节,这里介绍的就是基本操作的,日常够用了。

命令 描述
git init 创建自己的本地git 仓库,初始化仓库,一般是个人使用
git clone 这个是 拷贝远程仓库
git add 添加到本地仓库标记里,这个时候本地仓库是没由该文件的,用于新文件添加
git commit 提交文件到本地仓库,如果不想提交的文件可在 “.gitignore ” 文件中设置过滤
git push 推送本地代码到远程仓库,这样别人就能通过git 下载你最新的代码
git pull 远程仓库代码下载,默认是拉取当前分支的代码
git rm 删除文件,删除后也要进行 提交操作和 add 类似

git log命令

用来查看 文件提交记录的,这样可以溯源,了解情况

命令 描述
git log -p "文件名" 可以显示该文件每次提交的diff
git log --pretty=oneline 简化查看日志,方便看到提交更新了哪些内容

git pull 冲突原因与解决方案

有的时候我们使用命令 git pull 从远程库拉取代码的时候,报错:

#报错提示:
The following untracked working tree files would be overwritten by merge

字面意思是:“本地的文件跟远程库里的文件名相同”,出现这种情况的原因,大多数是因为,本地当时git 的时候不是一个空的仓库,或者后期自己复制了项目的代码过来,没有添加到版本库里面,出现的文件比对的时候,发现本地存在同名文件。
我们可以执行: git clean -f ,然后再执行 git pull 就能正常更新了 ;本地操作一定要慎用这个命令!因为这个命令会把你重名的文件都删了,万一你改了文件,忘记推到版本库了,就凉了,所以一定要确保你的重名文件是无用的,之前的落后版本。

删除相关命令:

命令 描述
git clean -f -n 查看会删除哪些文件
git clean -f 删除上一条命令显示出来的文件,一般是 git pull 后有重名文件,使用
git clean -fd 删除文件夹
git clean -fX 删除已被忽略的文件
git clean -fx 删除已被忽略和未被忽略的文件

转载请标注!https://blog.csdn.net/ohaha001/article/details/122344356

你可能感兴趣的:(lnux运维,git,linux,github)