写点什么

GitLab 用户切换引发的某程序员“暴动”,怒而开源项目源码

用户头像
小Q
关注
发布于: 2020 年 10 月 22 日

疯狂吐槽,咱也不知道为什么,原来GitHub用的好好的,我自己的项目也会上传到自己的码云,但是,谁想到,今天老大跟我说,让我把一个项目代码传到gitlab上,哎,又要切换账户了,所以,今天分享两部分内容



一个GitLab如何在本机切换账户配置并上传项目

二是项目源码开放,SpringBoot搭建多线程定时任务



GitLab在本机切换账户配置并上传项目

  • 1、进入控制面板,新增git账户,配置用户名及密码2、在gitBash上切换账户3、上传项目



  之前已经在本机创建了一个Vue项目,同事给了我一个GitLab账号叫我使用他的账号上传一下项目。 但是我本机的配置是我自己的git账号,那么如何切换呢?在此将相关操作罗列如下:

1、进入控制面板,新增git账户,配置用户名及密码







输入用户名及密码,添加一条凭据

2、在gitBash上切换账户

在项目中先删除无用的配置(.idea或.git等配置)保留需要上传的项目文件

输入指令“git init”初始化git项目,在当前文件夹下创建了一个.git文件。但是这不我发现了一个问题:

上面显示的还是对我之前的git账户进行操作



针对上述问题,进行如下尝试来切换账户:

  1. 切换用户名、邮箱

git config --global user.name "XXX"
git config --global user.email "XXX"
12





2、切换密码

$ git config --global user.password "XXXX"
1

这时出现了一个问题,报错如下:



bash: !@@202003: event not found

经过查询相关资料,该问题的原因是:  输入的命令中间包含 !,叹号,不能组成命令, 应该将 !转义,加上“\”反转意符号即可解决,其他shell命令出现类似问题可以同样的方式解决。经过以上方式,成功了

3、验证是否修改成功

git config --list
1





3、上传项目

切换到需要上传的项目所在路径下,重新打开gitBash使用GitLab官网上的操作步骤进行操作



Git 全局设置
git config --global user.name "XXX"
git config --global user.email "XX@XX.com"

创建新版本库
git clone http://172.16.XX.XXX/XX/XX-website.git
cd e-apo-website
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

已存在的文件夹(我目前采用的情况)
cd existing_folder
1>初始化
git init
2>创建一个本地远程链接
git remote add origin http://172.16.XX.XXX/XX/XX-website.git
3>添加到本地
git add .
4>设置注释
git commit -m "Initial commit"
5>推到远程
git push -u origin master
123456789101112131415161718192021222324

操作如下:



在执行add的时候出现如下错误:

warning: LF will be replaced by CRLF in babel.config.js.The file will have its original line endings in your working directory.

通过查询资料1,发现原因是:

在使用git提交的时候出现The file will have its original line endings in your working directory.错误,后来发现 自己在提交的时候忘记输入git add 上传的文件 出现了上面的错误,需要下面进行修改:

1 git rm -r -f --cached ./ (删除缓存)

2 git add . (添加该目录下所有文件)

3 git push -u origin master (这时候提交就没问题了)
12345

改了没用。通过查询资料2,发现是:

需要加一个配置,因为路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题

解决方法:git config --global core.autocrlf false

就可以解决了。

然后再运行"git push -u origin master"时出现如下问题::

remote: HTTP Basic: Access deniedfatal: Authentication failed for 'http://172.16.3XXXX"

发现是用户名输入错误的问题,此处输入的不是在GitLab上显示的昵称,而是在控制面板内配置的登陆用的用户名。

然后按照上述贴出的步骤操作,上传成功。

上传项目代码

springboot设置多线程定时任务

在一些系统上线之前,总需要后台定时执行一些事情。这个时候就需要定时任务来做这件事情。

  多线程的目的是:使同一个定时任务模块的两个不同的定时任务业务不互相影响。在SpringBoot中集成了定时任务的简单配置



package com.resource.task;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
* @program: travel-res-service
* @description: 定时任务
* @author: Andrea
* @create: 2019-11-15 14:54
**/
//@Component
@Configuration//标记启动类,兼备Component效果
@EnableScheduling//开启定时任务
@EnableAsync//多线程标记(两个定时任务不互相影响)
public class CornJob {

//或直接指定时间间隔,例如:5秒
//@Scheduled(fixedRate=5000)
//3.添加定时任务
@Async
@Scheduled(cron = "0 50 2 * * ?")//每天2:50分执行
public void cleanSegDatas() {
boolean b = //定时执行业务1的返回结果
if (b){
System.out.println("执行业务1完成");
}
System.err.println("执行执行业务1定时任务时间: " + LocalDateTime.now());
}
@Async
@Scheduled(cron = "0 0 3 * * ?")//每天3:00分执行
public void cleanTraRouteDatas() {
boolean b = //定时执行业务2的返回结果
if (b){
System.out.println("业务2完成");
}
System.err.println("执行业务2定时任务时间: " + LocalDateTime.now());
}
}





关注我,一个脑回路清奇但是在老大的胁迫下苦苦求生存的程序员,公众号:Java架构师联盟,欢迎关注,文章首发公众号



发布于: 2020 年 10 月 22 日阅读数: 30
用户头像

小Q

关注

还未添加个人签名 2020.06.30 加入

小Q 公众号:Java架构师联盟 作者多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果能为您提供帮助,请给予支持(关注、点赞、分享)!

评论

发布
暂无评论
GitLab用户切换引发的某程序员“暴动”,怒而开源项目源码