git 命令 (持续更新)

    首先有个问题,基本上所有使用过git命令的人都会有这样的一个疑问:

    1.你本地的代码是最新的,在此基础上修改,(可以使用 git diff 查看修改),这样的前提下,使用 git pull 为什么不会覆盖本地修改的代码?换句话说就是: git pull 为什么不能撤销在最新的代码上做出的修改?(虽然这个问题合乎逻辑,但是需要揣摩)

    这个问题好几个人都问过我,我是这样解释的: git 命令是根据commit ID更新的,这个commit ID就是一系列算法生成的,根据这个反查代码非常好用,每次 git pull 的时候,会根据commit ID依次拉取代码,这个commit ID会跟本地的 commit ID 做出比较,如果相同的话,是不会继续拉取代码的,这样如果是最新的代码,生成的 commit ID 是相同的,所以咯,你本地的修改并不会被覆盖。

    git 常用命令:

    1.强制撤销本地操作并切换分支。

     git reset --hard HEAD^^(这个符号代表向前的commit Id数量,0个表示退到上一个commit Id,依次类推)

     git checkout (你的远程分支名) -B (你打算起的指向这个远程分支的本地名)

     这样就强制切换过来了

     2.查看代码修改

     通常我们需要查看谁对代码做了修改,并咨询相关人事这样做的原因:

     git blame (你想查看的文件) | grep '(粘贴你想查看代码那行的其中一部分)',然后终端会显示这个commit Id,以及详细信息。

     git show (刚才看到的commit Id) 查看具体的代码修改

     3.保存工作状态(有时候需要保存对当前分支的工作状态,然后切换到另外的分支上操作紧急的内容)

     git stash save (写你的注释) 保存当前工作状态到队列里

     git stash list 查看当前所有保存的工作状态

     git stash apply (你的队列名字) 恢复现场 (这里需要说明的是 apply时注意分支问题,分支不对会报错)

     4.删除远程分支

     git push param1(远程主机名) --delete param2(远程分支名字)

     eg:git push origin --delete branch1

     5.重置git远程仓库地址

     git remote set-url param1(远程主机名)  param2(git地址) 

     eg:git remote set-url origin (从远程项目复制的那个地址)

     6.本地分支和远程分支建立联系

     git branch --set-upstream-to param1(远程主机/远程分支名字) param2(本地分支,省略的话,就是当前分支)

     eg1:git branch --set-upstream-to origin/branch1 :本地当前分支和远程branch1建立联系

     eg2:git branch --set-upstream-to origin/branch2 branch2 :本地分支branch2和远程分支branch2建立联系

       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值