GIT 查看/修改用户名和邮箱地址,和一些常用的git命令

版权声明:本文为博主原创文章,未经博主允许不得转载: https://blog.csdn.net/chentravelling/article/details/https://mp.csdn.net/postedit/82665115

  • 用户名和邮箱地址的作用

    用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。

    每次commit都会用用户名和邮箱纪录。

    github的contributions统计就是按邮箱来统计的。

  • 查看用户名/邮箱

  •  git config user.name

  •  git config user.email

2.创建用户名和邮箱,也可以用来修改

  • git config --global user.name "username"
  • git config --global user.email "xxx@xxx"

常用git命令操作

  • git add  添加,经常用-_-||
  • git pull 拉代码,也能用于刷新本地仓库
  • git branch 查看本地分支
  • git branch -a  查看本地分支,查看远程分支(不过更详细)
  • git branch -avv 查看本地分支,查看远程分支(超详细)
  • git diff xxxxx(修改的文件名) 查看修改的内容
  • git commit -m "xxxx" 将所有添加到索引库的文件提交到本地仓库
  • git reset HEAD <文件>..." 以取消暂存 取消存入的commit  (有添加就有取消)
  • git reset   xxxxxxxxxx(代表历史提交记录) 效果和取消暂存一样,让当前的状态指向某个历史提交点上
  • git push xxxxx(远程仓库地址) 用于提交代码,将本地仓库的修改推送到远程仓库
  • git checkout -b xxxxx 切换到xxxxx分支  注意:如果xxxxx不存在,会创建一个这样的分支
  • git checkout  xxxx 切换分支  有点蛋疼-_-
  • git branch -d xxxxx 删除本地分支,或将修改的文件恢复
  • git push origin --delete xxxxx 删除远程分支  , 慎用!!!
  • git branch -r -d xxxxx 删除远程分支 
  • git rebase  发生冲突时可用rebase 和并分支,貌似说的不对, —— 这个是合并分支用的 千万不要和 reset搞混了
  • git merge    将一个或多个分支合并
  • repo forall -c git pull  拉取代码,去每个目录下拉取,针对有些目录文件拉不到用这个
  • git commit --amend  追加提交,注意,注意,注意(重要的的是说三遍):追加提交之前,一定要去先看一下是否有别人提交过,可用git log 查看提交日志,后面再push 上去就好了!
  • git stash 保存当前状态
  • git reset --hard HEAD^^^^^ 领先几个提交就回退几个  reset 前面有讲
  • git pull 再接着拉取代码
  • git status  看看目前提交点的位置
  • git stash pop 拿回保存的东西
  • git branch --set-upstream-to=(远程分支) (本地分支)
  • git remote -v 查看当前项目在那个服务器上拉的 显示对应的克隆地址
  • git clean --df 删除暂存中未追踪的文件   使用过后  可以和  git checkout .  一起使用 ,最后 在git pull 一下就可以拉到最新代码
  • git branch --set-upstream-to=origin/<branch> release  本地分支关联远程分支
  • git branch --set-upstream-to=origin/remote_branch  your_branch

    其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

  • git restore 丢弃所有改动

 

 

 

解决冲突

git pull --reabse

git add

git rebase --continue

git push 

 

 

 

如果提交文件,多提交了不该提交的东西如何修改:

git log 先看一下,你的提交是否在最前面

git reset --soft HEAD^  回退到我前面的提交,已经进入commit了的可用此命令还原

git status  查看一下

git reset HEAD <文件>  去掉多余的提交

 接下来就简单了, 重新提交就醒了  good  但一定要记住, 不能追加提交 -_-

 

git clean -f

删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过

git clean -df

删除当前目录下没有被track过的文件和文件夹

git clean -xf

删除当前目录下所有没有track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件

git reset --hard和git clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候

 

将整个工程切换到某个分支下

repo start --all xxxx

 repo forall -c git gc   压缩历史信息

 

================================================

git pull 提示错误,Your local changes to the following files would be overwritten by merge:

解决办法

1、服务器代码合并本地代码

$ git stash     //暂存当前正在进行的工作。
$ git pull   origin master //拉取服务器的代码
$ git stash pop //合并暂存的代码

2、服务器代码覆盖本地代码

$git reset --hard  //回滚到上一个版本
$git pull origin master 

 

==============================

repo forall -c git checkout -f    
repo forall -c git clean -fd     
repo forall -c git reset --hard 分支名
repo forall -c git pull    对比服务器上的分支, 有新的内容就拉下来
repo sync    

===============================

 

 

======================

拉取代码报错

Syncing work tree:  80% (12/15)  git-lfs smudge --skip -- 'av/av.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
git-lfs smudge --skip -- 'diag/diag.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
git-lfs smudge --skip -- 'home/home.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
git-lfs smudge --skip -- 'onlinevideo/onlinevideo.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
git-lfs smudge --skip -- 'phone/phone.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
git-lfs smudge --skip -- 'setting/setting.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
git-lfs smudge --skip -- 'systemview/systemview.apk': git-lfs: command not found
error: external filter 'git-lfs smudge --skip -- %f' failed 127
error: external filter 'git-lfs smudge --skip -- %f' failed
Syncing work tree: 100% (15/15), done. 

 

Ubantu下设置
git lfs install



mac 下设置

brew install git-lfs

 

 

repo forall -c git clean -fd

repo forall -c git checkout -f 

git pull

======================================

 

 

=========================================================

代码拉取报错:

git clone ssh://xxx.xxx.xx.xx:xxx8/tools/repo
Cloning into 'repo'...
sketch@xxx.xx.xx.xx: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 

1.有可能是因为  你的gerrit 上面所配置的名字叫做 xxxx     但是你的  电脑名字叫做 sketch @173.xx.xx.xx 导致找不到你的名字 所以  需要重新配置
2.在.ssh文件下新建一个config文件  里面填上你的名字user   xxxxxx 这样就可以了

 

-----------

git  提交代码报错:

这个可能是本地的User.name  和  User.email 和远程服务器上不一致所导致的

commit 3f7b9a2: email address xxxx@xxx.xxx.xxx is not registered in your account, and you lack 'forge committer' permission.

 

 

git commit --amend --no-edit --author="xxxxx<xxxxxx@xxxx.com>"

-----------

 

 

查找

git status|grep -E "04_01|04_02|00_11"|sed  "s/修改://g"|sed "s/删除://g"|xargs git add

通过这个命令可以筛选你需要提交的内容

sed 's/要被取代的字串/新的字串/g'

git命令还有很多,上面就列举出我们常用的,学习  

最后上个大神的git合并分支的操作链接  很详细  https://blog.csdn.net/zzh920625/article/details/78315127

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值