• git 备忘录


    git 常用命令
    git add src/READ.txt  		创建新文件
    git branch -a  				查看分支
    git clean
    	-n 						显示将要删除的文件和目录
    	-x 						删除忽略文件已经对git来说不识别的文件
    	-d 						删除未被添加到git的路径中的文件
    	-f 						强制运行
    git checkout master  		进入分支
    	-b 						会在本地新创建一个分支
    git cherry -v				查看已经提交,但是未传送到远程代码库的commit提交
    git cherry-pick 			将已提交的代码提交到另一个分支
    git commit 	
    	-m 						注释说明
    	--amend					追加提交
    git diff	
    	--stat					统计文件的改动
    git log
    	--author=authorname		按作者过滤提交记录
    git pull
    	--rebase				同时会合并分支
    	git pull = git fetch + git merge FETCH_HEAD 
    	git pull --rebase =  git fetch + git rebase FETCH_HEAD 
    git	rebase		合并提交 前提:不要通过rebase对任何已经提交到公共仓库中的commit进行修改(你自己一个人玩的分支除外)  
    git reflog		它会记录所有HEAD的历史,也就是说当你做reset,checkout等操作的时候,这些操作会被记录在reflog中
    git reset 		git reset <选项> HEAD/快照ID<~>,其中<快照ID/HEAD> 默认是HEAD,~表示回退的版本数,也可以表达~N
    	--soft soft仅仅是改变HEAD指针的指向,实际上是撤销上一次commit,暂存区和工作区都没有改变
    	--mixd 默认选项,HEAD指针会指向上一个快照,然后将这个上个快照复制到暂存区,暂存区的内容会被覆盖,工作区不会改变。
    	--hard hard操作会改变HEAD指针指向上一个快照,同时将上一个快照的内容复制到暂存区和工作区,暂存区和工作区原先的内容会被覆盖.
    https://blog.csdn.net/qq_40731414/article/details/87989256
    git stash 
    	+ apply 		恢复暂时stash列表中的一个内容,但不会删除stash列表的内容
    	+ clear 		删除所有缓存的stash
    git status
    
    遇到的问题:

    (1)错误使用git reset hard

    $ git log 查看提交记录
    	若这看起来我们是丢掉了我们第二次的提交,本地的修改也消失了,没有办法找回来了。
    	但是 reflog 会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。
    $ git reflog 会显示所有HEAD的历史
    	要找回我们第二commit,只需要做如下操作$git reset --hard 98abc5a(代表commit的Id)
    	再执行$git log 查看提交记录 ,显示找回丢失的记录
    

    (2)git pull 错误提交,可执行git reset --mixd(默认,可不填) HEAD^/commitId

    (3)git rebase 和 git merge的区别

    merge操作会生成一个新的节点,之前的提交分开显示。而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。
    merge操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。而rebase 操作的话,会中断rebase,同时会提示去解决冲突。解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。
    

    (4) git commit --amend

    (5) git reset --rebase

    (6)本地代码合并指定的commitId但不提交

    git merge 043a7afdeb8bcdef2e74ee606b037f746b1a4dca --no-commit --no-ff 本地代码合并指定的commitId但不提交,没有参数--no-commit会生成一个新的commitid
    

    (7)git合并多个commit

    	https://segmentfault.com/a/1190000017337900
    	https://blog.csdn.net/u013276277/article/details/82470177
    

    (8)找回pop掉的stash

    git fsck
    

    https://www.imooc.com/article/49614
    

    (9)git 找回git stash clear误删除的代码, 并恢复

    https://www.cnblogs.com/lwh-note/p/13398655.html
    

    (10)git如何跨分支查找某个commit所属分支?

    git branch --contains CommitID
    #查远程所有分支
    git branch -r --contains CommitID
    #查本地和远程的所有分支
    git branch -a --contains CommitID
  • 相关阅读:
    003_&#x和ASCII的关系及URL中的中文转义
    001_机器学习的Hello world之MNIST手写数字识别模型
    Appnium安装-Mac平台
    Code Review 规范
    Spring AOP-xml配置
    JTLParser-linux上jmeter的jtl文件二次分析
    测试覆盖率Emma工具使用
    jmeter之java请求
    jmeter测试总结
    jstat监控gc情况
  • 原文地址:https://www.cnblogs.com/fyusac/p/14846723.html
Copyright © 2020-2023  润新知