Git的一些操作

Git的相关操作


1. Git储藏
  1. 如何进行储藏
    git stash

保持所有正在追踪的文件

git stash save ‘日志信息’

(ervp2) qiaobt@yanfa-qiaobt:~/qiao/erpv2$ git stash 
Saved working directory and index state WIP on qiaobt: efcce82 2
HEAD is now at efcce82 2
  1. 查看git储藏
    git stash list
(ervp2) qiaobt@yanfa-qiaobt:~/qiao/erpv2$ git stash list
stash@{0}: WIP on qiaobt: efcce82 2
  1. 恢复git储藏
    git stash apply # 恢复最近一次的储藏
    git stash apply stash@{2} # 恢复特定时候的储藏
(ervp2) qiaobt@yanfa-qiaobt:~/qiao/erpv2$ git stash apply
On branch qiaobt
Your branch is up-to-date with 'origin/qiaobt'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   ERP2/settings.py
	modified:   finance/models/account_invoice.py
	modified:   purchase/models/purchase_order.py
	modified:   purchase/views.py

no changes added to commit (use "git add" and/or "git commit -a")

Git常用的命令

  1. git强制拉远程分支代码
    git fetch
    git reset --hard origin/master

  1. 强制推送代码到qiaobt
    git push --force origin qiaobt

  1. 如何取消已经暂存的修改
git add *
git reset HEAD a.py
  1. 如何取消跟踪
git rm --cached test.py

一些略高级的Git操作


查看提交的历史信息
# 将所有的log信息放在一行进行展示
git log --oneline

# 搜索日志包含[***]的提交
git log --all --grep='***'

# 获取某个人的提交日志
git log --author = 'qiaobt'

重置一个不想要保留的提交,回滚

# 获取所有提交的历史
git reflog

# 重置到相对于的提交
git reset HEAD{2}

#或者使用这种
git reset --hard <前面的message>

查看我的分支和master的不同

git diff master ..my-branch

定制提交

# 如何编辑上次提交
git commit --amend -m '新的提交日志'

# 在上次的提交中附加一些内容,保持提交日志不变
git add . && git commit --amend --no-edit

# 空提交  可重新出发CI构建
git commit --allow-empty -m 'chore: re-trigger build'

New Add

# git commit 后想撤销
# https://www.cnblogs.com/lfxiao/p/9378763.html
写完代码后,我们一般这样

git add . //添加所有文件

git commit -m "本功能全部完成"

 

执行完commit后,想撤回commit,怎么办?

 

这样凉拌:

git reset --soft HEAD^

 

这样就成功的撤销了你的commit

注意,仅仅是撤回commit操作,您写的代码仍然保留。

 

说一下个人理解:
HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

 

至于这几个参数:
--mixed 
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
 

--soft  
不删除工作空间改动代码,撤销commit,不撤销git add . 
 
--hard
删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。


顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

如何进行分支的改名和远程推动分支修改

  1. 修改分支名称:
git branch -m oldBranchName newBranchName
  1. 将远程分支删除
git push origin : oldBranchName
  1. 将改名的分支push到远端
git push origin newBranchName
  1. 将本地分支跟踪远程的同名分支
git push --set-upstream origin newBranchName
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值