首页 > 其他分享 >git日常工作常用的命令行指令-雷jf

git日常工作常用的命令行指令-雷jf

时间:2022-10-25 18:12:33浏览次数:71  
标签:origin git -- lines stash 命令行 push jf

1. git撤销提交
git reset --hard HEAD^ //多次提交执行多次
git push origin master --force //强制将当前点提交的master分支

git reset --soft HEAD^ //撤销 add
git reset --soft HEAD~1

2. git撤销add
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了

git commit --amend 修改注释
git restore --staged xxx 撤销删除已经删除的文件

2.1 git 撤销 commit
git reset --soft HEAD~


3. git修改远程分支名
git branch -m newname
git push -f origin newname
git push -d origin master

4.查看url
git remote -v
5.创建空白git checkout -b feature/0.1.1 develop
创建空白分支
a. 创建新分支
git branch <new_branch>
git checkout <new_branch>
或者不带历史提交记录
git checkout --orphan <new_branch>
b.删除多余文件
git clean -d -fx

c.清除cached
git rm --cached -r .
git clean -f -d
git commit --allow-empty -m "init"
d.推送到远端
git push origin <new_branch>

6.推送标签TAG到远程仓库
git tag 列出所有标签
git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。
a.push单个tag,命令格式为:git push origin [tagname]
例如:
git push origin v1.0 #将本地v1.0的tag推送到远端服务器
b.push所有tag,命令格式为:git push [origin] --tags
例如:
git push --tags

git push origin --tags
c.删除tag
git tag -d V0.8.0 删除本地tag
git push origin :refs/tags/V0.8.0 删除远端tag

7. 合并提交
git rebase -i HEAD~2

8. 查看提交历史记录
git log --onelinegit log --oneline --graphgit log -- filePath 查询文件的改动记录
git log --name-only 查询每次提交改动的文件记录git log --pretty=format:"%h %s %an %ad" --date=short | grep leijinfeng1 查询个人提交记录
git log --no-merges --since=2020-06-02 --until=2022-06-04 --author="leijinfeng1" --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
查询提交统计
Git命令统计在一段时间内的代码更改数量
1、根据用户名来统计
git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
把username换成自己的用户名就可以了
2、按照一段时间来统计
git log --since=2022-02-14 --until=2022-07-28 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed

lines: %s, total lines: %s\n", add, subs, loc }'
把时间切换成自己想要统计的时间段就可以了
3、按照用户名和时间段来统计
git log --author="username" --since=2021-12-31 --until=2022-08-01 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
同理,更改用户名、时间为自己想要统计的就可以了
9. git 查看本地操作记录
git reflog


10. 提交到多个远程仓库
修改配置文件 .git\config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = https://gitee.com/xxxx/xxx.git
fetch = +refs/heads/*:refs/remotes/origin/*
+ [remote "all"]
+ url = https://gitee.com/xxx/xxx.git
+ url = https://gitHub.com/xxx/xxx.git
[branch "master"]
remote = origin
merge = refs/heads/master
同时提交到两个仓库
git push all master
git push all develop
git push all --tags
只提交一个仓库
git push origin master
git push origin develop
git push origin --tags
11. --depth=1 后如何拉取其他分支:
$ git remote set-branches origin 'remote_branch_name'
$ git fetch --depth 1 origin remote_branch_name
$ git checkout remote_branch_name
https://www.jianshu.com/p/1397ce990c58
12. 查看远程仓库地址:
git remote get-url --push origin
或者直接查看项目根目录下 .git/config 文件
13. 常用git stash命令:
(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash

来源: https://www.cnblogs.com/zndxall/archive/2018

 

14. submodule 克隆含有子模块的项目
先clone当前项目,然后再更新子模块
1)git submodule init
2)git submodule update
1和2可以合并为:git submodule update --init
若还存在嵌套子模块可以用:git submodule update --init --recursive

15. git push 时发现有冲突
1. git pull --rebase 先拉代码,解决冲突
2. git add . 再添加修改到缓存区
3. git rebase --continue 以 amend 的形式重新 commit
4. git push origin master 再重新 push

16. 设置取消代理
git config --global https.proxy http://127.0.0.1:4780
git config --global https.proxy https://127.0.0.1:4780
git config --global --unset http.proxy
git config --global --unset https.proxy
17. git 冲突处理
git cherry-pick --continue
git rebase --continue
git merge --continue

18. 修改 git commit 提交记录里面的 email 与 username
修改Git 本次Commit提交记录的用户名Name和邮箱Email
git commit --amend --author="new-name <[email protected]>"
修改Git 全部Commit提交记录的用户名Name和邮箱Email
原文(有删改):https://cloud.tencent.com/developer/article/1352623
准备
在项目根目录下创建 email.sh 写入下面这段代码
#!/bin/sh

git filter-branch --env-filter '

# 要修改的邮箱
OLD_EMAIL="[email protected]"

# 新的邮箱以及用户名
CORRECT_NAME="your-name"
CORRECT_EMAIL="[email protected]"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
把OLD_EMAIL、CORRECT_NAME、CORRECT_EMAIL改成 需要修改的新旧邮箱用户名即可

19. git http 提交拉取时每次需要输入用户名和密码
git config --global credential.helper store

20. 一个命令解决 git status 命令执行慢
git gc
如果你的 git 仓库文件较多的话,随着时间越长,你每次执行 git status 命令会越来越慢。这是由于本地有过多的缓存造成的。git 为这个问题提供了一个简单的解决方案,那就是: git gc 当你执行这个命令时,git 会清理不必要的文件并优化本地存储库。

 

标签:origin,git,--,lines,stash,命令行,push,jf
From: https://www.cnblogs.com/whoknows1/p/16825816.html

相关文章

  • git合并分支时出现“Please enter a commit message to explain why this merge is ne
    1,有的时候我们在进行项目分支合并gitmerge时会出现如下错误  解决步骤:按键盘上的“i”键可进入插入模式这时可以修改最上方的黄色部分,改成你想写的合并原因按......
  • git 版本回退
    git回退到指定版本步骤:把你想回退的版本的commitid和最新版本的commitid记下来然后用命令gitreset--hard老版本的commitid再gitreset--mix最新版本的commit......
  • JFormDesigner 提示需要修改控件为Static的解决方法。
    最近在用java开发一个EmailAItools时候,发现一个比较好用的UI设计工具:JFormDesigner,但是在编写代码的时候总是被提示需要修改控件的属性为Static,在代码里面修改后回到UI......
  • 搭建github个人博客——记录
    目的看到网上许多人的都在搭建自己在gayhub上面的花里胡哨的blog,兴致来了,摸鱼不如自己搭一个这个!过程在跟着一个教程,是通过git+node+(里面的hexo)。baby级教程到了其......
  • 快速自建gitlab和gitlab-ci容器版
    文档说明:只是记录关键点自建gitlabversion:"3"services:gitlab-ce:image:gitlab/gitlab-ce:15.5.1-ce.0#指定版本比较好#image:git......
  • 常用git插件
    Chinese(Simplified)(简体中文)LanguagePackforVisualStudioCodeGitHistoryGitLensImagepreviewNGA-MoFishPowerModeQQTailwindCSSIntelliSenseuni-......
  • git仓库拷贝之后出现大量Modiy状态文件
    git仓库拷贝之后出现大量Modiy状态文件且无法重置,可使用下面一套组合拳RemoveeveryfilefromGit'sindex.gitrm--cached-r.RewritetheGitindextopickupa......
  • git初始化引导使用
    git上传项目到远程仓库文档一.Git安装及配置官网下载:https://git-scm.com/downloads 下载太慢快链接传送门:https://npm.taobao.org/mirrors/git-for-windows/ 最下面......
  • GitBook使用教程
    GitBook使用教程1.环境安装1.1nodejs安装大家可根据自己的操作系统下载对应的版本,本教程仅介绍windows系统下的nodejs安装,其它系统类似。nodejs官方下载地址:https://no......
  • getopts 解析Shell脚本命令行参数
      getopts命令是用来解析Shell脚本命令行参数的工具    #!/bin/bashset-eset-x##Globalvariablesworkspace=$PWD/$(dirname$0)readonlyworkspac......