JAVA_IDEA Git/Github

参考:

列举一些疑问

Q1: git中的 origin 到底指的是什么?
A1: 使用 git remote -v 查看绑定的远程仓库,然后我们会发现,其实origin只是远程仓库的一个默认标签而已… 指代着某一个远程仓库… 然后如果要添加远程仓库作为标签,可以使用 git remote add <label> <link>
此问参考:
https://blog.csdn.net/u011478909/article/details/77683754

Q2: 在IDEA中创建库后右键项目文件夹没有Git选项
A2: 尝试在项目文件夹同目录创建Git repo

Q3: 何为快进模式? 弊端是啥?与非快进模式的区别是啥?
A3: 快进模式是指两个要合并的分支不存在冲突的时候,一个分支中的东西在另外一个分支中均存在且一模一样,此时就是简单的指向分支的指针移动,很快!所以就叫快进模式。
那么使用快进模式的弊端是啥? 就在于这种快速合并并不会保存另外一个分支的提交信息,在合并之后甚至你都不知道有另外一个分支的存在…因此使用非快进模式会使我们的提交历史更加清晰。
如何使用非快进模式?在普通的合并指令上加入 --no-ff 参数即可,如果需要加备注也是可以的。
此问参考:https://blog.csdn.net/andyzhaojianhui/article/details/78072143

Q4: git clone \ git fetch \ git pull 异同
A4: git clone 就是把远程仓库master分支完完全全克隆到本地,有多少提交全部克隆到本地
git fetch \ git pull 用于本地已经有该项目仓库的情况,命令作用是将远程仓库的最新提交与本地仓库进行同步

区别:简单的从效果上来说,git pull = git fetch + git merge
但是请不要认为git fetch是没有存在必要的… 有时候可能git会让你分步操作,特别是远程仓库上有你本地仓库没有的文件的时候,会要求你手动进行git merge操作
此问参考:https://blog.csdn.net/qq_29545781/article/details/94910444

Q5: master \ origin \ origin/master 傻傻搞不清
A5:origin/master 是标签为 origin 的远程仓库(见Q1)的 master 分支的本地副本,在Q4中曾经提交到,可能会出现git pull分成两步进行的需求。
这种情况的实例见下方代码示范:

git fetch origin master // 实际上执行这条指令后,远程仓库master分支已被同步到本地副本origin/master
git merge origin/merge 	// 将本地副本分支与当前分支合并

看了上面的示范,我们也许会情不自禁的蹦出两个问题
I. 如何fetch其他或者多个远程分支?
git fetch <remoteReposLabel> <branch1> <branch2>
II.如何merge多个分支?
git merge <branch1> <branch2>
此问参考:https://blog.csdn.net/u014599371/article/details/90055737

Q6: 我们一直在使用的--hard参数是什么?
A6: --hard参数的作用有,移动本地库的HEAD指针,重置stage,重置work dir
此问参考:https://blog.csdn.net/qq_15003505/article/details/81408826

Q7: 远程仓库多人协作?
A7:多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

注记:如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch -u <remoteRepoLabel>/<branch-name> <localBranchName>
此问参考:https://www.liaoxuefeng.com/wiki/896043488029600/900375748016320

Q8: error: -refusing to merge unrelated histories
A8: $git pull origin master --allow-unrelated-histories
造成这个问题的原因是本地仓库 和 远程仓库是分别创立的,如果本地仓库的产生是直接从远程仓库那里克隆下来的就不会有这样的问题。
此问参考:https://blog.csdn.net/u012145252/article/details/80628451

Q9: 为什么git branch时候看不到分支?为啥设置分支映射的时候提示分支不存在?
A9: 先commit一次看看?

“因为git的分支必须指向一个commit,没有任何commit就没有任何分支
提交第一个commitgit自动创建master分支” -------廖雪峰

此问参考:https://blog.csdn.net/qq_39671159/article/details/81261049


To be continue…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值