关于git(以及项目中编写自动化脚本拉取git仓库代码自动运行)

版本控制:一种在开发过程中用于管理文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前版本的软件工程技术。
分类:
1.本地版本控制:记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,比如RCS
2集中版本控制:所有版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改,用户的本地只有自己以前所同步的版本,如果不联网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作,而且,所有数据保存在单一服务器上,有很大风险损坏,损失所有数据如SVN、CVS\VSS
3.分布式版本控制 Git :所有版本信息仓库全部同步到本地的每个用户这样就可以在本地查看所有版本历史,可以离线在本地提交,只需要在联网时push到相应的服务器或其他用户那里。由于每个用户那里都保存的是所有的版本数据,只要有一个用户的设备没有问题就可以恢复到所有的数据,但这增加了本地存储空间的占用。

git与svn的区别:
svn是集中式版本控制系统,版本库是放在中央服务器的,而工作的时候都使用的是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统必须是联网才能工作,对网络带宽要求较高。
git:分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网,因为版本都在自己电脑上。协同的方法就是这样的:比如说自己在电脑上改了文件A,其他人在电脑上也改了文件A,这时你们两只两之间只需把各自得修改推送给对方,就可以互相看见对方的修改了。

cd … :回退到上一个目录,
pwd显示当前所在目录路径
touch:新建一个文件 如 touch xxxx就会在当前目录下新建一个xxx文件
rm删除文件
mkdir :新建一个目录(文件夹)
rm -r : 删除一个文件夹,rm -r xxx 删除xxx目录
mv: 移动 , 如 mv aa src ,aa是我们要移动的文件,src是目标文件夹,这样写,必须保证文件和目标文件夹在同一目录下
reset重新初始化终端、清屏
history查看历史命令

git本地有三个工作区域 :工作目录、暂存区、资源库。加上远程git仓库就可以分为四个工作区域。提交路径git add files(.) ->git commit -m “注释”-> git push
git管理的文件有三种状态:已修改(modified),已暂存(staged)、已提交(committed)

git init初始化项目
git clone url :克隆

.gitignore文件
*.txt忽略所有以.txt结尾的文件,上传时就不会选中
!lib.txt但lib.txt除外
/temp,表示要忽略的文件在temp目录下,而子目录中的文件不会被忽略
bulid/:表示忽略build目录下所有文件

分支:
新建分支还在当前分支git branch 分支名
新建分支,并切换分支git checkout - b 分支名
合并指定分支到当前分支 git merge 分支名
删除分支 git branch -d 分支名
删除远程分支 git push origin --delete 分支名
git branch -dr [remote/branch]

关于在idae中操作分支:第一次在公司拉取项目后,新建分支并切换到新建的分支,在与多人协作共同开发时,在自己的分支首先add添加到自己的本地缓存区,在点击切换到master分支,先拉取远程主分支代码,在切换到自己创建的分支,在merge合并本地的master分支,然后在add,commit最后在上传到自己的分支。

关于编写自动化脚本使拉git仓库拉取最新代码:

echo  停止原来运行的工程
APP_NAME = project_name 项目名
tpid = `ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then 
    echo 'Stop Process...'
    kill -15 $tpid
 fi
 sleep 2
 tpid = `ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then 
    echo 'Kill Process...'
    kill -9 $tpid
else
    echo 'Stop Success!'
 fi

echo 准备从Git仓库拉取最新代码
cd /usr/local/项目路径
echo 开始从Git仓库拉取代码
git pull
echo 代码拉取完成
outpt = `mvn clean package -Dmaven.test.skip=true`

cd target
echo 启动项目
nohup java -jar jar包名称 &> 日志名称 &
echo 项目启动完成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下命令在shell脚本git代码: ``` #!/bin/bash git clone https://github.com/username/repo.git ``` 其,`username`是你的GitHub用户名,`repo`是你要仓库名称。你也可以使用SSH协议来代码,只需要将`https`替换为`git`即可。 如果你需要在脚本指定代码的存储路径,可以在`git clone`命令后面加上路径: ``` #!/bin/bash git clone https://github.com/username/repo.git /path/to/destination ``` 其,`/path/to/destination`是你要存储代码的路径。如果该路径不存在,Git自动创建它。 ### 回答2: Shell脚本是Linux操作系统常用的一种脚本语言,能够执行一系列的操作任务。其之一就是Git代码的任务。在执行该任务之前,我们需要明确一些基本概念: 1. Git是一个分布式版本控制系统,用于管理代码库的版本和代码的协同开发。 2. (pull)代码是指将服务器上的代码库更新到本地。 下面我们将介绍如何用Shell脚本Git代码: 1. 确认Git环境和权限 在执行代码脚本命令之前,需要确认Git环境已经正确安装并配置,并且拥有权限访问Git仓库。 2. 创建Shell脚本 打开终端,输入`vi pull_git.sh`,创建一个名为`pull_git.sh`的Shell脚本文件。 3. 开始脚本编写 在`pull_git.sh`文件,输入以下Shell脚本命令: ``` #!/bin/sh git config --global credential.helper store git reset --hard git clean -xfd git pull ``` 4. 解释脚本命令 a. `#!/bin/sh` 表示使用Shell作为解释器。 b. `git config --global credential.helper store`表示将Git登录凭证保存在本地。 c. `git reset --hard`表示强制将本地仓库回滚到和远程仓库一致的状态。 d. `git clean -xfd`表示清除本地仓库没有被Git版本控制的文件和目录。 e. `git pull`表示最新的代码。 5. 保存文件 按“Esc”键退出编辑状态,输入“:wq”,保存并退出。 6. 对脚本添加执行权限 在终端上使用chmod命令为脚本添加执行权限: ``` chmod +x pull_git.sh ``` 7. 执行脚本 在终端输入`./pull_git.sh`,执行脚本,便能将服务器上的代码更新到本地了。 Shell脚本可以帮助我们快速方便地Git代码,使得我们能够更加高效地进行协同开发。反复的输入命令不但浪费时间,也容易出现错误,因此使用Shell脚本无疑是一个不错的选择。 ### 回答3: 首先,我们需要了解什么是shell脚本git代码。Shell脚本是一种文本文件,它包含了一系列可执行的命令。Git是一种开源的分布式版本控制系统,它能够管理您的代码。 在编写shell脚本git代码之前,我们需要确保我们已经安装了Git。另外,我们需要确定我们要Git代码存储在哪个Git。通常情况下,我们需要提供Git库的URL和分支或标签名。 下面是一个简单的Shell脚本示例,可以Git代码: ```shell #!/bin/bash # Git的URL和分支或标签名 git_url="https://github.com/user/repo.git" branch_or_tag="main" # 克隆代码到本地 git clone $git_url # 切换到指定分支或标签 cd repo && git checkout $branch_or_tag ``` 上面的脚本首先定义了Git的URL和分支或标签名,并使用`git clone`命令将代码克隆到本地。接下来,使用`cd`命令进入git仓库目录,并使用`git checkout`命令切换到指定的分支或标签。如果没有指定分支或标签,则默认为`master`分支。 当我们将上面的脚本保存为`pull_git.sh`文件并运行时,它将指定的Git仓库并切换到指定的分支或标签。 此外,我们还可以在脚本添加其他操作,例如检查是否已经在本地存在该Git仓库,以及在代码完成后进行编译和部署等操作。 总之,使用Shell脚本Git代码是一项非常常见的任务,可以大大提高我们的效率。我们只需要在脚本定义好Git的URL和分支或标签名,然后就能够轻松地代码并进行其他操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值