git

  1. 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

  2. Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

  3. 通过 https / ssh 协议推拉代码:

    • 使用 https 协议 克隆 对初学者来说会比较方便 ,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了,但是 每次fetch和push代码都需要输入账号和密码 ,这也是 https 协议 的麻烦之处(已经不再麻烦)。idea解决了这个问题:idea自动把第一次输入的登录凭证(用户名和密码)存储起来,下一次推送/拉取代码直接使用idea存储的凭证信息。另外微软自带Git Credential Manager也会实现记住密码这个功能。

    • 使用 SSH 协议 克隆需要在克隆之前先配置和添加好 SSH key,因此, 如果用户想要使用 SSH url 克隆的话,必须是这个仓库的拥有者

    • Git支持多种协议,包括httpsssh协议速度最快

  4. 本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

    为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
    
    当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了
    

    第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"
    

    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

    第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

    github-addkey-1

    点“Add Key”,你就应该看到已经添加的Key:

    github-addkey-2

  5. git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick了。

  6. merge代码时遇到conflict,使用Accept left出现问题:将自己的(右面修改)同步到结果集中后,别点击左下角的“Accept left”,否则它会覆盖你右面修改的代码。左下角的Accept Left 和 Accept Right其实就相当于是上一个页面的 Accept Yours 和 Accept Theirs;Accept Yours 就是直接选取本地的代码,覆盖掉远程仓库的,Accept Theirs 是直接选取远程仓库的,覆盖掉自己本地的 要点击上面的>>LEFT 将其余左面的同步过来。这里的>>left是指:apply non-conflicting changes

posted @ 2022-05-18 22:59  大于昨天  阅读(80)  评论(0编辑  收藏  举报