0
点赞
收藏
分享

微信扫一扫

Linux文件I/O

少_游 2024-09-26 阅读 22
git笔记

设置仓库用户名

#全局配置,

#项目单独配置,写入项目中.git/config
git config --global user.name "name"
git config --global user.email "xxxxxxxxxx@qq.com"



vscode 不显示远程分支

git remote update origin --prune

撤销上一次提交

git log
git reset --hard  需要回退的版本的hash值
git push origin HEAD --force

修改上一次提交的commit信息

git commit --amend
#或
git commit --amend -m "msg"

git 合并某个提交commit到指定的分支上

git cherry-pick 62ecb3

将一个分支的某个提交合并到另一个分支

git cherry-pick 命令可以将某个分支上的特定提交应用到当前分支上。

找到提交的哈希值
git log 源分支
Cherry-pick 提交

使用 cherry-pick 命令将该提交合并到当前分支。

git cherry-pick 提交的哈希值
解决冲突

解决冲突后,添加解决冲突后的文件:

git add 解决冲突后的文件

继续 cherry-pick 过程:
git cherry-pick --continue

链接:https://blog.csdn.net/qq_41883423/article/details/140776493

合并某个分支上的一系列commits

在一些特性情况下,合并单个commit并不够,你需要合并一系列相连的commits。这种情况下就不要选择cherry-pick了,rebase 更适合。还以上例为例,假设你需要合并feature分支的commit76cada ~62ecb3 到master分支。

首先需要基于feature创建一个新的分支,并指明新分支的最后一个commit:

git checkout -bnewbranch 62ecb3

1

然后,rebase这个新分支的commit到master(–ontomaster)。76cada^ 指明你想从哪个特定的commit开始。

git rebase --ontomaster 76cada^

1

得到的结果就是feature分支的commit 76cada ~62ecb3 都被合并到了master分支。

常用

列出所有本地分支

 git branch

列出所有远程分支

 git branch -r

删除本地分支xxx

 git branch -D xxx

管理远程仓库的列表

 git remote

切换分支xxx(切换远程分支,自动关联远程分支)

 git checkout xxx

撤销暂存区中某个文件的修改

 git checkout xxx.c

撤销暂存区中所有修改

 git checkout .

新建并切换分支xxx

 git checkout -b xxx

从远程仓库拉取最新的提交,但不会自动合并到当前分支。

git fetch

从远程仓库拉取最新的提交并合并当前分支

 git pull

所以有人说git pull = git fetch + git merge

生成最近的1次commit的patch

 git format-patch HEAD^

将名字为0001-limit-log-function.patch的patch打上

 git am 0001-limit-log-function.patch   

临时保存分支修改的内容就像是,切换分支使用,git stash可以保存多次修改内容

 git stash

恢复最近一次stash的修改的内容

 git stash pop

恢复之前多次stash中的具体那次的保存修改内容

 git stash apply    xxx

列出当前工作区stash的所有记录

 git stash list

删除stash的所有记录

 git stash clear

回退你已提交具体的commitID,并将commit的修改内容放回到暂存区

 git reset --hard commitID

清空工作目录下编译出来的中间产物

 git clean -df

重命名分支

 git branch -m oldNme newName

生成某个区间的patch

 git format-patch   commitID..commitID  > lsdkall.patch

制作历史提交具体某次的补丁

 git format-patch commitID -1

对比出修改了哪些内容

git diff

生成某个区间的patch

 git format-patch 97010ef958a502c60d7080212bba353af32d2057..f2f35bbfc16b384f447a30dd0b240637331fd132 > lsdkall.patch

生成最后第N次提交产生的补丁

 git format-patch -N

回退之前的某个具体版本xxxx

 git reset --hard xxxx

显示一个提交的详细信息。

 git show 

显示某个具体commit ID提交的详细信息。

 git show commitID

显示历史提交记录

 git log

将文件添加到Git的暂存区。

 git add  .

从暂存区和工作目录中删除文件

 git rm xx.c

将暂存区内容添加到本地仓库中

 git commit

commit内容分段提交

 git commit -s 分段提交内容

ctrl + o
回车
ctrl + x
对之前最近一次没合入仓库的commit 提交进行再次修改可以是文件内容也可以是commit 信息

 git commit --amend

将本地提交推送到远程仓库

 git push

有时候本地代码和远程仓库有冲突的时候,就需要强推到仓库

 git push -f

显示工作目录和暂存区的状态。

 git status

显示历史提交记录

 git log

从log历史记录中查找关键字touchpanel

 git log --grep="touchpanel"

仅显示指定John作者相关的提交

git log --author="John"

仅显示指定提交者John相关的提交

 git log --committer="John"

查看某个时间段的提交记录

 git log --after="2020-9-23 00:00:00" --before="2020-9-23 23:59:59"

查看具体某个目录drivers/media/i2c下的修改历史提交记录

git log --oneline  drivers/media/i2c

从仓库中删除已提交的某个文件

 git reset -f xxx.txt

查看所有标签

git tag

根据patch id来打标签,一般是出版本的人打tag

 git tag -a v0.9 85fc7e7  

展示标签内容

git show v1.0 

删除标签

git tag -d v1.1   

将A分支提交内容移动到B分支

 git checkpick 

下载github上的提交

git clone xxx.git

另外推荐两个Linux上有两个查看git log历史记录的工具是gitk,tig

gitk是图形化查看git提交的目录

tig是命令去看历史提交的目录

https://mp.weixin.qq.com/s?__biz=MzUyNDUyMDQyNQ==&mid=2247483996&idx=1&sn=d9767803f44199f122b3793c9a044fdb&chksm=fa2d5cdacd5ad5cc6c0be50ffb896ccde7099cfabcd5d32ac18c727dbb0c7e2ffeb7067888cd&cur_album_id=3313713335250436101&scene=189#wechat_redirect

举报

相关推荐

0 条评论