首页 > 其他分享 >Git 和 GitHub 超入门指南(三)

Git 和 GitHub 超入门指南(三)

时间:2023-03-21 21:24:50浏览次数:50  
标签:Git 入门 -- GitHub 仓库 add git 工单 分支

工作流程

工作的流程应该遵循以下步骤:

(1) 在 issue 跟踪系统中创建一个新的工单,注明这个 issue 的编号。

(2) 在本地仓库中,使用 issue+number 格式创建一个新的分支。

(3) 完成工单描述的工作(且只完成工单中描述的工作)。

(4) 测试工作,确保已经完成并且是正确的。确保它能够通过开发环境下的 QA 测试。

(5) 将更改添加到本地仓库的暂存区。

(6) 将缓存的修改提交至仓库。

(7) 将更改推送到备用服务器上,如 GitLab、Bitbucket 或 GitHub。根据工单系统,可以将这个工单标记为已解决, 但不需要将其标记为已关闭。

(8) 当对工作完全满意时,将工单分支并入主分支(通常是 master)并将修改后的分支推送到代码托管系统中。

(9) 再一次测试工作,确保没有后续问题。

(10) 将工单标记为已关闭。

基于 issue 的版本控制

工单包含以下三个主要部分:

  • 问题:大致描述想要解决的问题。
  • 原因:为什么想要做这件事(如果问题得到解决,谁将受益)?
  • 质量保证测试:将如何知道这个问题已经得到解决?

创建本地仓库

  1. 创建一个文件夹,用于存放项目,无论在任何地方git都不关心

  2. 两种种状态创建

    • 克隆已有的项目

    创建项目克隆将会下载仓库中所有文件的副本及其提交历史,它还会记住你下载代码的地方,将远程代码托管服务器设置为跟踪仓库。直接下载压缩包解压则没有这个功能。

    git clone 链接

    • 初始化已有的项目

    初始化目录:直接下载压缩包解压,git自动感知目录下的所有文件,包括子目录

    git init

    检查仓库的当前状态

    git status

    将仓库中所有文件添加至暂存区

    git add --all

    或者

    git add .

    将当前暂存区中的文件保存到仓库的历史记录中

    git diff HEAD # 查看更改前后的差别

    git commit -m "文本"

    • 初始化空项目
    # 在创建好的新文件夹下初始化
    git init
    
  3. 查看历史记录

    • 查看本地仓库当前签出分支中的每个提交的提交消息和作者信息
    git log                # 能查看以当前状态为终点的历史日志
    git log --oneline      # 每个日志只显示一行
    git log -10            # 显示最近的10个log
    git log 文件或者日志名    # 指定查看日志 
    git log -p             # 显示出具体改动
    git reflog             # 查看当前仓库的操作日志
    

使用以下命令,列出你在工作时间段内修改过的文件:

git log --since=<start_time> --until=<end_time> --author=<your_name> --name-only --pretty=format:

其中,<start_time><end_time>是你想要查找的时间范围,格式为YYYY-MM-DD<your_name>是你的Git用户名。此命令将列出在指定时间范围内由你修改的文件名。

分支的操作

1. 列出分支

# 列出本地所有分支
git branch --list

# 列出所有分支
git branch --all
或者
git branch -a

# 列出远程分支
git branch --remotes

2. 更新远程分支列表

git fetch

3. 切换使用不同的分支

git checkout --track 分支名称
git checkout -b 子分支名称 父分支名称       # 创建、切换分支

4. 创建新的分支

分支名应该能够反映正在进行的工作。

从主分支创建一个新的开发分支。

# 切换到一个父节点
git checkout main
# 创建分支节点
git branch 子分支名称
# 签出到分支节点
git checkout 子分支名称

git checkout -b 子分支名称 main

5. 合并分支

# 将工单分支并入你的主分支
git checkout main
git merge --no-ff 工单分支名称          # 参数为了记录合并历史
git push --set-upstream 远程仓库名(默认是origin) mainr   # 上传本地分支main

6. 删除分支

# 删除这个分支的本地副本
git branch --delete 工单分支名称

# 删除不再需要的远程分支
git push --delete 远程仓库名(默认是origin) 工单分支名称

7. 查看分支结构

git log --graph

在仓库中添加更改

Git中的更改必须先进行暂存,然后再保存至仓库。

# 将选中的已更改文件添加至Git仓库
git add 文件1 文件2 ...

# 递归地添加指定路径中的所有文件
git add <directory_name>/*

# 添加扩展名为.png的所有文件
git add *.png

# 暂存Git中所有已知的且在上次提交之后编辑过(或修改过)的文件
git add --update

# 暂存Git中所有已知但还没有进行暂存的文件;暂存任何当前未被Git跟踪的文件
git add --all

1.在仓库中添加部分文件修改

# 将选中的修改交互式地添加到缓存区
git add --patch filename

2.提交部分更改

# 将选中的修改交互式地添加到你的Git仓库
git commit --patch -m 'message'

3.从暂存区撤回文件

git reset HEAD 文件

4.编写扩展提交消息

# 对上一条提交的commit修改
git commit --amend

连接远程仓库

  1. 创建新的项目
  2. 添加远程连接
# 使用自定义的名称在本地仓库中添加远程连接
git remote add 自定义名称 [email protected]:用户名/仓库名.git

# 两个远程仓库
git remote add my_github [email protected]:用户名/仓库名.git
git remote add my_gitlab [email protected]:用户名/仓库名.git

# 列出连接至你当前仓库的远程仓库
git remote --verbose

3.推送至远程仓库

git push

# 在上传本地分支时设置上游分支
git push --set-upstream 上游分支(默认origin) 当前分支

# 简化!!
git push -u origin main

4.获取远程仓库

git clone 远程仓库连接                   # 默认下载的origin/master分支
git checkout -b feature origin/feature # 下载分支
git pull origin main

标签:Git,入门,--,GitHub,仓库,add,git,工单,分支
From: https://www.cnblogs.com/zuiyixin/p/17241493.html

相关文章

  • Git 和 GitHub 超入门指南(四)
    Git基本命令以下是一些基本的Git命令:gitadd:将文件添加到Git索引中gitcommit:将索引中的文件提交到Git仓库中gitstatus:查看工作目录和索引的状态gitlog:查看提交历......
  • Git 和 GitHub 超入门指南(五)
    使用标签1.显示已有的标签gittag在Git自身项目仓库中,如果只对 1.0 系列的版本感兴趣,可以运行下面的命令:gittag-l'v1.0.*'2.创建标签创建一个含附注类型的......
  • 一个统计每个人git代码提交行数的命令
    进入项目目录printf"%25s%10s%10s%10s\n""用户名""总行数""添加行数""删除行数"gitlog--format='%aN'|sort-u-r|whilereadname;doprintf"%25s""$n......
  • 开源API网关APINTO:快速入门
    公司领导对选型APINTO网关比较满意,自然少不了体验一下。首先来体验一下API网关最基本的功能:转发请求。Apinto快速入门从Apinto官网扒了个配置流程图,Apinto网关控制台主......
  • Android 开发入门(2)| 简单控件
    0x04简单控件(1)文本显示a.添加文本设置文本内容主要有两种方式:XML:通过属性android:text设置在layout目录下新建activity_text_view.xml<?xmlversion="1.0"......
  • Hash算法入门和应用场景
    1.Hash是什么,它的作用散列算法(HashAlgorithm),又称哈希算法,杂凑算法,是一种从任意文件中创造小的数字「指纹」的方法。与指纹一样,==散列算法就是一种以较短的信息来保证文件......
  • Git08-diff
    diff是英文differences(差异)的缩写,指的是两个事物的不同。在Linux系统和UNIX系统中,diff命令会逐行比较两个文本的差异然后显示出来。//(1)创建initial文件]#cat......
  • Java入门第一步:写出你的Hello World
    当你学习一种新的编程语言时,通常你会看到第一个程序被称为“HelloWorld”程序。它通常用于初学者的简单程序。假设你是作为Java编程语言的初学者阅读这篇文章的,或者你......
  • 恢复误删的git分支
    #开头引用我参考文章内容????????我猜你进来找答案的时候表情应该是这样的既然进来了,问题肯定是可以解决的,继续往下看#第一种方式#1.找到需要恢复的信息对应的commitidgitreflo......
  • Cadence入门笔记(三):PCB封装制作
    新建文件首先打开allegro,选择新建一个Packgesymbol随后调整一下图纸的单位和边框大小扩展(把调整Extends可以把原点居中放置,原生只在左下角)为了调用之前设计好的pad文......