Personal experiences related git

1.放弃本地更改,未add,未commit

 git checkout filename

注:与git checkout branch 区别

2.放弃已add未commit的更改

git reset HEAD filename               ---------------只是撤销add 操作,本地修改不会丢失

3.放弃已经commit的修改

git reset --hard HEAD^                  ----------------回到上次commit的状态

git reset --hard HEAD^^                ------------------回到前两次提交

git reset --hard commitid

4.放弃已经push的修改

   1>git reset HEAD                     --------------------只是把HEAD指针向后移动

    2>git revert commitID             --------------------提交一个新的版本,将之前的版本覆盖当前的版本,版本会递增,不影响想要放弃的已push的修改,而revert之后的版本递增,但是push的内容还在,只是存在于上一个版本

git reflog -------------查看commit日志

git reset --hard commitid        ---------------回到commitid (回退本地的commit)

git config --list

设置git提交用户

git config --global user.email xxx@xxx

git config --global user.name xxx

撤回已经push的提交:

  1. 使用git log找到commit的版本号;
  2. git reset --hard <版本号>,撤回到需要的版本;(git reset --hard HEAD^)
  3. git push 重新提交会报错;
  4. 使用git push --force (or git push -f origin master)

修改 commit 注释信息(未push):

1. 修改上一次commit 的信息:

    git commit --amend

2. 修改历史commit:

git rebase -i HEAD~[id]  --> 改 pick 为edit  -->  保存退出  -->  git commit --amend -->  修改  保存 退出 --> git rebase --continue

delete tag:

  1. git fetch --tags
  2. git tags
  3. git tag -d tag-name (delete locally)
  4. git push origin :refs/tags/tag-name(delete remotely)

error records:

git push rejected by YACC , error:expected committer name '' not found '' 

solution: git config --gloabal user.name ""

              git commit --amend --reset-author

              git push

将文件移出暂存区:

git reset HEAD -- path/filename

untracked files:

git restore --staged path/file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值