Git笔记

目录

  1. git config --global user.name/user.email
  2. git config --list
  3. git help config
  4. git add file/dir添加到暂存区
  5. git restore file撤销文件的修改(还未添加到暂存区的文件,相当于Ctrl-Z);--staged从暂存区中撤销。
  6. .gitignore
    • *0个或多个字符;[ab]其中一个字符;[0-9]范围;?任意一个字符;!代表取反。
  7. git diff显示的是还没有暂存起来的改动。--staged查看已暂存的文件和上次提交时的快照之间的差异。--no-index -- src dst > temp.diff生成diff文件;git diff [old-commit] [new-commit] > 001.diff,导出两个提交之间的差异到文件。
  8. git rm --cached删除该文件在git目录中的索引,也就意味着git不再跟踪该文件,但保留在本地文件系统中。
  9. git log -p -2详细显示最近两次提交的内容。
    • --stat只显示增减行差异;
    • --pretty=oneline每个提交只显示一行;
    • --graph显示提交所在的分支。
  10. git commit --amend可以重新修改刚才的提交。如果刚才的提交忘加了几个文件,可以git add xxx后再git commit --amend重新修改刚才的提交,可以修改说明,然后顺便把新暂存区的内容提交了。
  11. git remote显示关联的远程仓库。
    • -v(verbose)显示详细信息;
    • git remote add [shortname] [url]添加远程仓库并指定仓库名字shortname
    • git remote show [remote-name]查看远程仓库信息;
    • git remote rename [old-name] [new-name]修改远程仓库的名字;
    • git remote rm pb删除远程仓库;
    • git push origin HEAD:masterpush到指定仓库的指定分支。
  12. git tag列出所有标签
    • git tag -l "v1.4.2.*"查找符合的标签;
    • git tag v0.0.1 -m "original version"给最新的commit打上一个普通的标签,-a(annotated)打上一个注解标签;
    • git show [tag-name]显示标签信息
  13. git branch testing创建一个新分支;-d/-D testing删除/强制删除指定分支;-v显示每个分支最后提交的信息。
  14. git checkout testing切换到指定分支(HEAD随分支一起移动);-b testing origin/testing创建与远程对应的新分支并切换。
  15. git fetch origin同步远程数据到本地,然后把origin/master的指针移到它最新的位置上
  16. git cherry-pick <commitHash>将某一分支的提交添加到当前分支。
    • git cherry-pick A^..B合并多个提交(包括A),A的时间要早于B

文件修改会创建一个新的blob节点;在某个文件夹下创建一个新文件,那么新文件所在的文件夹tree会复制一份;对某个文件夹重命名,只会改变父tree中的名字,不会增加新的tree节点。

checkout用法

git中分支和tag本质并无太大区别,都是指向了某一个commit节点,其中tag是无法移动的,分支可以移动,默认HEAD是指向某个分支的,git checkout commit-id可以将HEAD分离出来,直接指向某个commit节点,这时HEAD就不随分支移动了;git branch -f master HEAD~可以让master分支强制指向HEAD指向的父提交,也可以换成任何的commit-hash值。checkout本质是改变HEAD的指向,分支会随着提交而前进。

  1. git apply应用diff文件
    • --stat查看diff文件
    • --check检查diff文件的兼容性
    • --reject应用diff文件
  2. git format-patch HEAD -2HEAD提交开始,将两个提交的内容保存到.patch文件(包含HEAD提交)
  3. git am --signoff < xxx.patch应用.patch文件,应用后提交记录会增加(apply是应用diff,不会增加提交节点)

参考文献:[1] Pro Git中文版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值