搭建一个和linux开发者知识共享和学习的平台
分类: linux
2024-06-17 09:57:47
git 数据工作流程如下:
可以使用以下命令来暂存已修改的文件,命令最后需要指定要暂存的文件名称:
git add <filename>
如果想要将所有未跟踪和修改的文件添加到暂存区,可以执行以下命令:
git add .
此时分支的状态如下:
可以使用以下命令将暂存区的文件修改提交到本地仓库,
git commit -m "meaasge"
其中-m参数表示message日志信息,参数后面要加一个日志信息,用双引号括起来。
此时分支的状态如下:
git commit --amend -m <message>
如果有一个新的文件修改,也想提交到上一个commit中,可以使用以下命令来保持相同的提交信息:
git add . git commit --amend --no-edit
假如我们正在开发迭代功能,但是还没开发完。这时有一个紧急的bug需要修复上线。可能就需要切换到一个hotfix分支去修复bug。这时对于开发了一部分的功能创建提交是没有逻辑意义的。可以使用以下任一命令来存储修改的内容:
git stash git stash push git stash push -m ""
该命令回保存所有未提交的更改并恢复到上次提交时存储库的状态。
当想再次继续开发此功能时,就可以使用以下命令检查所有存储:
git stash list
这时终端中就会显示带有时间戳的所有已经暂存的列表。可以使用以下任一命令来取回所有的更改:
git stash apply git stash pop
apply 和 pop 之间的区别在于,pop 应用了 stash 中的更改并将其也从 stash 中删除,但 apply 即使在应用后仍将更改保留在 stash 中。
可以使用以下任一命令应用存储列表中的第 n 个存储:
git stash apply stash@{n} git stash apply <n>
整个过程的输出如下:
在不同分支之间进行代码合并时,通常会有两种情况:一种情况是需要另一个分支的所有代码变动,那么就可以直接合并(git merge),另一种情况是只需要部分代码的变动(某几次提交),这时就可以使用以下命令来合并指定的提交:
git cherry-pick <commit hash>
建议添加 -x 标志,因为它会生成标准化的提交消息,通知用户它是从哪里pick出来的:
git cherry-pick -x <commit hash>
那么这个commit hash是从哪里来的呢?可以在需要被合并的分支上执行以下命令:
git log
这时终端就会显示出所有的提交信息:
git允许我们在本地检查特定的提交。输入以下命令就可以查看有关当前提交的详细信息:
git show
输出的结构如下,可以看到,它显示出了上次提交的commit id、作者信息(邮箱和姓名)、提交日期、commit message、代码diff等:
git show head~3
除此之外,还可以添加一个--oneline标志,以简化输出信息:
git show --oneline
这样提交信息就简洁了很多:
可以使用以下命令来返回每个贡献者的commit次数以及每次commit的commit message:
$ git shortlog
其可以添加两个参数:
s:省略每次 commit 的注释,仅仅返回一个简单的统计。
n:按照 commit 数量从多到少的顺利对用户进行排序。
加上这两个参数之后就可以看到每个用户中的提交次数以及排名情况:
git shortlog -sn
这样就会显示出该项目所有贡献者的commit次数,从上到下依次减小:
git shortlog -sn --no-merges
git rev-list 用于列出仓库中的提交(commit)记录。它按照时间倒序显示提交记录,并可以根据不同的选项和参数进行筛选和排序。
下面是git rev-list的一些基本用法:
列出所有提交记录:
git rev-list
这将显示仓库中所有的提交记录,按照时间倒序排列。每个提交记录都有一个唯一的sha-1哈希值作为标识。
列出某个分支的提交记录:
git rev-list <branch-name>
将
列出某个提交之后的提交记录:
git rev-list <commit-id>..
将
列出两个提交之间的提交记录:
git rev-list <commit-id1>..<commit-id2>
将
列出某个文件的所有提交记录:
bash复制代码 git rev-list -- <file-path>
将
git notes允许用户为git对象(如提交、树、标签等)添加注释或备注信息。这些注释信息是以键值对的形式存储的,其中键是一个唯一的引用,而值则是与该引用关联的注释内容。
要使用git notes,可以按照以下步骤进行操作:
添加注释:使用git notes add -m "your note message"