saowu's Blog

Git常见和古怪用法

Git常见和古怪用法
2021-12-24 · 3 min read

干啥用我不知道,就是能查到

Git常见操作

  • 显示当前的 git 配置信息
git config --list
  • 查看仓库当前的状态,显示有变更的文件
#-s 来获得简短的输出结果
git status
  • 新代码上传空仓库
#Git 全局设置
git config --global user.name "吴延博"
git config --global user.email "saowu.gan@qq.com"
#推送现有文件夹
cd existing_folder
git init --initial-branch=main
git remote add origin git@127.0.0.1:wuyanbo/test.git
git add .
git commit -m "Initial commit"
git push -u origin main
  • 在指定的commit_id点创建分支
git checout -b <new_branch_name> <commid_id>
  • 完整顺利的一次提交
#提交修改到暂存区
git add .
#将暂存区内容添加到本地仓库中
git commit -m [message]
#将本地仓库内容推送到远程仓库中
git push
  • 合并其他分支到当前分支内
git merge [其他分支]
  • 列出历史提交记录
git log
  • 查看指定文件的修改记录
git blame [文件名] 
  • 列出分支名称
#-r 列出所有远程分支名称
#-a 列出所有分支名称
git branch -a
  • checkout远程仓库的分支
#基于origin/release,在本地起名为release分支,并切换到本地的release分支
git checkout -b [分支名] origin/[分支名]
  • 切换本地分支
git checkout -b [分支名]
  • 删除分支
 git branch -d 分支名
  • 强制覆盖本地分支
#拉取全部
git fetch --all 
#回滚到与远程仓库一致
git reset --hard origin/分支名
#拉取最新
git pull

古怪用法需求

查询GITLAB分支创建人

<dependency>
    <groupId>org.gitlab4j</groupId>
    <artifactId>gitlab4j-api</artifactId>
    <version>4.15.7</version>
</dependency>
@Test
public void getCreateBranch() {
    Integer projectId = 1617;
    String ref = "grey_1210";
    GitLabApi client = new GitLabApi("https://git.cn", "GITLAB_TOKEN");
    try {
        List<Event> projectEvents = client.getEventsApi().getProjectEvents(projectId, Constants.ActionType.PUSHED, null, null, null, Constants.SortOrder.ASC);
        Optional<Event> create = projectEvents.stream()
                .filter(event -> ref.equals(event.getPushData().getRef()))
                .findFirst();
        create.ifPresent(event -> {
            System.out.println("Ref:" + event.getPushData().getRef());
            System.out.println("Action:" + event.getPushData().getAction());
            System.out.println("Time:" + DateUtil.FORMAT.format(event.getCreatedAt()));
            System.out.println("Author:" + event.getAuthorUsername());
        });
    } catch (GitLabApiException e) {
        throw new BusinessException("查询失败, error:" + e.getMessage());
    }
}
Copyright © 2020 - 2024 saowu. All Right Reserved
Powered by Gridea