git小知识

       之前一直在linux中使用git,没有在win中使用过,所以没有出现过乱码问题,在这里记录下解决该问题的方法;啊,那不如就在这篇博客中记录在使用git时遇到的各种问题吧。

1、gitk乱码:

        将全局配置为utf-8即可;

git config --global gui.encoding utf-8

2、合并指定分支到当前分支

        git merge xxx

3、删除指定分支

        git branch -d xxxx

4、版本回退

        git reset --hard HEAD^

        这里HEAD^是上一个版本,HEAD就是当前版本。HEAD~100就是往上100个版本,一般也不这么用。

5、查看命令历史

        git reflog

6、直接丢弃工作区中的修改(也可用删除文件后的恢复)

        git checkout -- xxxx

7、将暂存区的文件恢复到工作区

        git reset HEAD xxxx

8、不使用fast forword方式合并分支

        git merge --no-ff -m "merge no-ff" dev

9、保存当前工作区(之后可以恢复)

        git stash

10、查看保存的工作区存在哪里

        git stash list

11、恢复工作区文件同时删除stash区文件

        1)git stash apply | git stash drop

        2)git stash pop

12、恢复指定工作区文件(因为可以多次stash)

        git stash apply stash@{0}

13、复制某个分支上的末次修改到当前分支

        git cherry-pick xxxxx(版本号)

        https://www.jianshu.com/p/723ed1326964     //参考文章

14、从远端拉取分支

        git clone xxxxx(git地址)

15、推送分支

        git push origin xxxx(本地分支名称)

        推送之前要是用git remote或git remote -v查看远程库的信息

16、在本地建立与远程分支对应的分支(就是建立一个新的分支)

        git checkout -b branch-name origin/branch-name

17、建立本地分支与远程分支关联(将该分支和远程分支关联起来,这样pull或者是push的时候就能关联在一起了)

        git branch --set-upstream branch-name origin/branch-name

18、从远程抓取分支

        git pull

19、查看历史提交

        git log --pretty=online --abbrev-commit

20、打标签

        git tag 标签  xxxx(id)

21、查看标签信息

        git show 标签名

22、创建带有说明的标签

       git tag -a tagname -m "commit" commitid

23、删除标签

       git tag -d tagname

24、删除远程标签

        git push origin :refs/tags/<tagname>

25、搭建git服务器

        https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664

26、git clone下载中断问题

       git submodule update --init --recursive

27、创建补丁文件

        diff -urN file_f file_b > file.patch

        参数说明:

-a:将所有文件当作文本文件来处理。
-b或–ignore-space-change  忽略空格造成的不同。
-B或–ignore-blank-lines  忽略空行造成的不同。
-c:使用纲要输出格式。
-H:利用试探法加速对大文件的搜索。
-I:忽略大小写的变化。
-n –rcs:输出RCS格式。
-r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。
-N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。
-u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。

 

28、打补丁

        patch -p0 < mysoft.patch

        参数说明:-p0 选项要从当前目录查找目的文件(夹)
                          -p1 选项要忽略掉第一层目录,从当前目录开始查找。

 

29、子模块相关

       https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值