git 基本使用到的命令 附加项目代码行数统计

//查看已经提交的文推
git  log  --stat  

//将暂存区的文件从暂存区撤出,但不会更改文件的内容
git restore --staged 

//文件名或文件夹名 解决在git add  git commit 解决.gitignore中加入没有提交的文件出现在暂存取的时候
git rm -r --cached

// 查看远程仓库到本地的commit文件
git ls-files

// 将某一个文件暂存
git add  文件名

// 暂存当前所有的文件
git add .    

//跳过缓存区操作,直接把工作区内容提交到本地仓库
git commit -a -m "提交说明"   

// 对比暂存区和之前代码的比较
git diff --cached  

# 工作区与暂存区的差异
git diff 

# 工作区与某分支的差异,远程分支这样写:remotes/origin/分支名
git diff 分支名 

# 工作区与HEAD指针指向的内容差异
git diff HEAD  

# 工作区某文件当前版本与历史版本的差异
git diff 提交id 文件路径 

# 工作区文件与上次提交的差异(1.6 版本前用 --cached)
git diff --stage 

# 查看从某个版本后都改动内容
git diff 版本TAG 

# 比较从分支A和分支B的差异(也支持比较两个TAG)
git diff 分支A 分支B 

# 比较两分支在分开后各自的改动
git diff 分支A...分支B 

**代码回滚**
//从暂存区变成更改文件区
git reset --hard HEAD 

//commit之后会推到暂存区
git reset --soft HEAD^

# 恢复成上次提交的版本
git reset HEAD^ 

# 恢复成上上次提交的版本,就是多个^,以此类推或用~次数
git reset HEAD^^

 //最近的一次提交到git上的 恢复到暂存区
 git reset HEAD~1
 git reset —hard  版本号 


git reflog 查看提交版本

//代码强制提交覆盖之前的代码 (慎用 会覆盖之前的代码)
git push -f origin  test  

// 代码强制合并
git merge 分支名  --allow-unrelated-histories

//查看所有的提交记录
git log --pretty=oneline

// 从远程出仓库master拉取最新代码,并在本地建立一个tmp分支,git diff tmp进行对比之后 然后在git merge tmp 进行合并这种步骤比较保险一些
git fetch origin master:tmp

//对比当前master分支和test_1.1分之每个文件代码是否一样
git checkout --patch test_1.1  /Users/XXXXXX/Desktop/portal-web/src

//查看远程仓库地址
git remote -v 

//提交本地分支作test为远程分支test
git push origin test:test

//删除本地分支test
git branch -d test 

//删除远程分支test
git push origin —delete test

//设置密钥
ssh-keygen -t rsa -C "jay@******.com”.  
//取消每次git pll 和git push时输入密码
ssh-keygen -p
//查看密钥 
cat .ssh/id_rsa.pub    

//拉取或者推送前使用命令
git config --global credential.helper store

//拉取或推送(避免以后每次提交都需要输入账号密码)
git pull /git push (这里需要输入用户名和密码,以后就不用啦)

// 将本地分支推送到新的远程分支
git add .
git commit -m '项目初始化'
git remote add origin git@gitlab.com:spring407/springcloud-001.git

//统计代码行数 过滤掉注释
find src/pages -name "*.jsx" |xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l  

//统计某个工程所有用户代码提交的次数
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r

//统计某天提交的代码次数
git log --pretty=format:'%cd' --date=short | uniq -c

// 统计所有开发人员在工程中修改或新增代码的行数
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --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 }' -; done

// 统计某个开发人员在项目工程中修改的那些代码
git log --author='jaycox' --pretty=format:'date: %ad %ncommit: %h %nauthor: %an %n%s' --date=format:'%Y-%m-%d %H:%M:%S' --stat


git config pull.rebase false
git config pull.rebase true

Git 在执行 git pull 命令时默认使用 merge 而不是 rebase。 git pull 命令是将远程分支的更新合并到本地分支,如果本地分支有更新,则会自动执行合并操作。默认情况下,git pull 命令会使用 rebase 的方式来合并分支,使用 rebase 的好处是可以保持提交历史的线性,避免了 merge 产生的分支合并记录。但是,如果在多人协作的项目中使用 rebase,可能会破坏提交历史,导致代码冲突,因此需要谨慎使用,通过设置 git config pull.rebase false,Git 将默认使用 merge 的方式来合并分支,从而避免了 rebase 带来的潜在问题。 需要注意的是,如果在执行 git pull 命令时指定了 --rebase 选项,则 Git 会优先使用 rebase 的方式来合并分支,而不受 git config pull.rebase 的设置影响。因此,如果需要强制使用 merge 的方式来合并分支,可以在执行 git pull 命令时添加 --no-rebase 选项

git相关配置

# --global可换成--local在单独项目生效

# 设置用户名
git config --global user.name "用户名" 

# 设置邮箱
git config --global user.email "用户邮箱"  

# 查看用户名是否配置成功
git config --global user.name   

# 查看邮箱是否配置
git config --global user.email   

# 查看全局设置相关参数列表
git config --global --list  

# 查看本地设置相关参数列表
git config --local --list 

# 查看系统配置参数列表
git config --system --list 

# 查看所有Git的配置(全局+本地+系统)
git config --list 

# 显示git相关颜色
git config --global color.ui true

# git修改当前项目仓库地址的三种方法
git remote -v                       // 查看git对应的远程仓库地址
git remote rm origin                // 删除关联对应的远程仓库地址
git remote -v                       // 查看是否删除成功,如果没有任何返回结果,表示OK
git remote add origin "新的仓库地址" // 重新关联git远程仓库地址

# 直接修改本地仓库所关联的远程仓库的地址
git remote  					 		   // 查看远程仓库名称:origin 
git remote get-url origin                  // 查看远程仓库地址
git remote set-url origin "新的仓库地址"    // ( 如果未设置ssh-key,此处仓库地址为 http://... 开头)


# 修改 .git/config 配置文件
cd .git      // 进入.git目录
vim config   // 修改config配置文件,快速找到remote "origin"下面的url并替换即可实现快速关联和修改

关于git:无法删除远程源
vim .git/config
// 如下 修改对应的url 然后保存就可以了

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪里个浪里个浪里个浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值