IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git使用一二-Evernote同步-2022.10.1 -> 正文阅读

[开发工具]Git使用一二-Evernote同步-2022.10.1

  1. git配置 git config --gloabal --list
  2. git pull = git fetch + git merge -b
  3. 移除本地工作区文件 git rm -r --cached xxx
  4. 由于其分布式特性?代码会存在三个地方?工作区--- git add ./git add -u? --- 暂存区 --- commit -m --- 仓库 --- git push --- master
  5. push了一个版本要修改:?先修改本地,然后 git commit -amend?amend改良,修订之意 再push
  6. git?pull时报error:"your local changes to the following files would be override by merge", git stash stach?是贮藏之意, git pull, git stash pop?解决冲突
  7. 同步代码 git --pull rebase?比git pull看起来更清晰(因为成了一条线)? https://www.jianshu.com/p/dc367c8dca8e?rebase?rebase就是重新确定base,
    不会有新的
  8. 多用 git status, git log, git log --oneline?本地提交历史?
  9. HEAD?指向当前分支(当前版本更准确) 最新commit git中的分支只是一个引用,删除分支并不会删除commit,没有合并到master的分支是不能删除的? HEAD? really just means "what is my repo currently pointing at".
    master?git创建一个仓库时的 默认分支,主分支,叫啥都行
    origin?原始 仓库 (一般是远程仓库),git给你的主远程仓库起的 默认名字
  10. git?为什么要设置暂存区? git为什么要设置暂存区? - 知乎?git add .后,而后commit前后悔了, 此时不想push一些文件到远程,git rm --cached
    暂存区就可以实现部分提交,比如你正在修复一个bug和开发特性,可以先提交bug修复那部分? Why would I want stage before committing in Git? - Stack Overflow
  11. 关键词?面向修改?把修改推送给对方!
  12. git? rebase把自己的代码给覆盖了? git reflog?找到rebase之前的点,git reset就又回来了
  13. branch相关的几个问题:
    新建分支并指向上游分支?git branch new_branch remote_branch,?记住这不会切换分支,必须switch
    不如使用 git checkout -b branch new_branch
    git branch -u (注意使用这个命令时已经切换到相应的分支)
    git push -u都可以设置上游分支
    上游分支和是否远程分支没有关系
    建立上下游关系后,直接在当前分支git pull就默认pull到上游分支? git push 的 -u 参数具体适合含义? - 知乎
    查看本地分支的上游分支: git branch -vv
  14. git push origin HEAD:refs/for/xxx
    是指
    在origin远程仓库,将当前的版本(HEAD)提交到前面指定的仓库的某个分支refs/for/xxx
  15. 创建远程分支
    切换到基分支,然后git branch new_branch(注意在此之后要checkout,要么就 git checkout -b new_branch)
    最后 git push origin HEAD:remotes_branch_name
  16. 回退本地commit?
    git log grahp?查看找出远程commit_id
    git reset commit_id,可以看到后来的变化,剔除变化,然后commit即可
    git revert commit_id也能回退,不同的是新建一个提交
  17. git 合并分支,?要将a合并到master,则先checkout到master,再git?merge wanted_merged_branch,解决冲突后commit
  18. 近日又搞到两个命令: git switch?应该用switch来切换分支的,
    ?如果没有IDE,怎么rollback 回退文件呢?git restore?file?或者?git?checkout --?file
    目前在分支A上,想 单独拉下分支B上的文件 git chckout B -- file?正是我最近想要的,来比对使两个分支同步
    问题又来了,这个里面的 -- (double?dash)是干什么用的??用来 消除歧义的,比如checkout?one?如果one是branch?则为?切换分支,如果one是一个目录则是rollback了,分不清了,所以只有一个--时则特指文件
    SOF?其实不止Git,?这是POSIX标准,命令行中也用这个来转义
  19. git merge?是对两个分支共同节点之后分离的节点合并起来,所以merge点会有两个parent,合并分支A后,如果在主分支上删除A的变动,再次合并A,A上的变动将不会合并进去,因为共同点已经没有分离了
    回退merge应该使用revert而不是本地reset后再次提交,远程commit记录不会变化的
    过程描述:分支A开发完成,误在分支A上拉了bugfix分支,将bugfix合并进master,发现问题(大量变动知道基分支错误了),回退master,删除(D文件)分支A变动,20天后再次merge分支A,并未合并进去
  20. 所有的commit都已经推到Girret评审后,切换分支git?merge后,推到Gerrit提示没有变动发生,拒绝发起review,在merge时应该操作: git?merge --no-ff, 或者直接push到master(不建议) "after git merge, the push to Gerrit fails, indicating no new change"?我是通过修改changeId欺骗Gerrit,然而我后面再如此操作,普通merge后却能继续push生成个review,为啥呢?
  21. 拉错分支时如何修改?变基? 这时候就是rebase的魅力了?或者cherry-pick?这个东西居然可以pick一段??git cherry-pick A B C? git cherry-pick A..B (A,B]? 阮一峰的博客
    怎么知道自己基于哪个分支? git log --first-parent git log --graph --decorate --simplify-by-decoration
    或者,呃,更大的? git show-branch | sed "s/].*//" | grep "\*" | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed "s/^.*\[//"
  22. 修改曾经的commit: git rebase -i HEAD~n 找到要修改的commit,编辑为edit,?修改代码, git commit --amend?最后?git rebase --continue? CSDN
  23. 特性分支落后了:?特性分支基于rel分支拉取,但是rel分支前进了,于是就可以 git rebase rel?变基, 与git文档一致 摘录网络评论: 本地开发分支拉取远程开发分支用rebase,开发分支合并主干分支的时候用rebase,最后主干分支合并开发分支用merge,最后推送各分支
  24. gerrit?push发起review时报错 squash commits first ,?它的意思是让你先合并提交,?原因是commit中有重复的changeId,git log?找出重复的changeId并修改即可;触发原因是先后cherry-pick了其他分支上对一个commit的两次修改:分支A?commitA-->分支B cherry-pick commitA -->?分支A修改commitA -->?分支B cherry-pick commitA? gerrit文档
  25. 回到以前的状态 git log --oneline?查看要回到的commit?然后? git checkout commit_id?然后可以看代码,?要回去 git switch -?是不是像cd -
  26. 比较?现在比较时很依赖IDE,git diff branchA branchB? 或者直接 git diff branchB 只对比文件名?加 --name-only?
    也可以比较两个commit git diff commit_id1 commit_id2?
    比较branch2?与 branch1、branch2的公共祖先之间的差别 git diff branch1 ... branch2 baeldung.com
  27. 去掉merge中的 commit记录??git rebase --soft commit-id ; git commit ;? 为什么会产生这个需求呢??分支1上落后太多,n个月后需要合到分支2上,在分支2上merge?分支1,解决冲突后,达到了理想状态,但是这个代码push不上去,因为分支1上的历史提交里还会产生冲突,于是回头到分支1上rebase合并成一个提交,回到分支2上再merge,但是git?log查看过去的提交历史还在;于是就有了这种需求,时间过于久远,分支1上具体的commit记录已经没有意义?? git remove merge commit from history - Stack Overflow
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 21:02:36  更:2022-10-08 21:05:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:27:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码