zoukankan      html  css  js  c++  java
  • mac下git安装和使用

    1、下载git客户端,下载地址为:https://git-scm.com/download/mac
    2、打开安装包,可以看到此时的界面为:
     
    我们需要把.pkg的安装包安装到系统当中。我双击了安装包之后,结果无法安装成功。界面为:
    这里是一个坑,虽然是很简单的问题的,但是对于新手而言有时候还是头疼的。后来,在网上终于找到原因,由于这个需要权限,所以直接点击安装是无法成功的。方式是按住control键之后,再点击pkg文件。这个时候会弹出安装程序的界面。如
    所示。然后选择打开,就可以完成安装了。
     

    安装好Git后,配置用户名和用户邮箱,以后每次与Git的交互都会使用该信息。

    git config --global user.name "your_name"  
    git config --global user.email "your_email@gmail.com"
    查看Git的配置信息指令
    git config --list
    3)创建ssh
    生成SSH key,输入密码

    $ ssh-keygen -t rsa -C jonezhang86@gmail.com(注册的main邮箱)

    Generating public/private rsa key pair.

    Enter file in which to save the key (/Users/jiangbo/.ssh/id_rsa):

    Enter passphrase (empty for no passphrase):

    Enter same passphrase again:

    Your identification has been saved in yes.

    Your public key has been saved in id_rsa.pub.

    The key fingerprint is:

    fb:c4:b0:e0:47:fd:be:e0:fb:ea:73:ef:a8:29:d5:22 jonezhang86@gmail.com

    The key's randomart image is:

    +--[ RSA 2048]----+

    |                 |

    |                 |

    |                 |

    |         .       |

    |      . S ..     |

    |     . oE=o..    |

    |      . +o+..    |

    |       ..+.+..   |

    |         oOB=+o  |

    +-----------------+

    显示隐藏的文件
     shift+cmmand+. 
    • 输入cd指令,进入当前用户目录
    • 输入ls -a指令,查看当前用户目录下所有文件,包括隐藏文件
    • 输入cd .ssh指令,进入.ssh目录
    • 输入ls指令,查看.ssh目录下的文件
    • 输入cat id_rsa.pub指令,查看id_rsa.pub文件中内容

    4)将SSH key添加到coding上

    a、打开终端,输入open ~/.ssh,查看id_rsa.pub这个文件并打开拷贝key值

    b、打开coding官网,登录成功后,点击账户-SSH公钥,输入a步拷贝的值,点击提交

    https://github.com/settings/ssh/new

    远端仓库添加密钥

    以GitHub为例子,向远端仓库添加公钥,上面已经获取到了公钥,只需要将公钥添加到远端仓库就可以了。


    图-1 添加公钥

    在个人设置页面,左边选中SSH and GPG keys,在右边添加公钥,title是key的名称,可以随便取,可更改,key是上面我们获取到的公钥,填写完毕后点击add SSH key按钮,这样远端就添加到了密钥。

    本地关联远端仓库

    • 在本地文件夹下面执行git init指令,初始化文件夹,作为本地的一个仓库。
    • 执行git remote add origin 仓库的ssh链接
    • 执行git pull指令,将远端代码拉取到本地

    执行完毕后,远端仓库代码已经同步到了本地。

    常用Git指令

      • 初始化配置

        git config --global user.name “XXX"
        git config --global user.email “XXXX"
      • 设置大小写敏感

        git config core.ignorecase false
      • 生成密钥

        ssh-keygen -t rsa -C “your_email”
      • 将远端代码clone到本地目录

        git clone <远端git> <本地目录>
      • 提交修改

        git add <文件> // 将有修改的文件添加到本地缓存中 git add . 是添加所有修改
        git commit -m "本次修改信息" // 提交本次修改,一般是在git add之后操作
        git reset . // 撤销add
        git rm --cached . // 撤销add

    切换分支

    git checkout <branch_name>
    • 以当前分支为蓝本新建分支并切换到新分支

      git checkout -b <branch_name>
    • 当前分支合并其他分支

      git merge <branch_name>
    • 远端新建分支,其实就是将本地分支推送至远端

      git push origin <local_branch_name>:<remote_branch_name>
    • 删除远端分支,其实就是推送了一个空的分支到远端覆盖了原来的远端分支

      git push origin :<remote_branch_name>
    • 从远端拉取分支,并建立对应关系

      git checkout -b <local_branch_name> origin/<remote_branch_name>
      // 或者
      git branch —track <local_branch_name> origin/<remote_branch_name>
    • 本地已经存在的分支和远端分支建立对应关系

      git branch —set-upstream <local_branch_name> origin/<remote_branch_name>
    • 添加远端库

      git remote add <远端库代称> <远端库地址>
      git clone <远端库地址> <目录>   //不需要git init
    • 回滚到某一个提交版本

      git reset --hard/soft <commit_id> // 回滚到某一个版本
      git reset --hard/soft HEAD~<num> // 回滚num个提交
      git revert <merge_commit_id> -m number // 撤销某一次merge
    • 强制远端覆盖本地

      git fetch --all
      git reset --hard origin/<remote_branch_name>
    • 提交日志查看方式

      git log -p 每一次提交具体差异
      git log —stat 显示文件修改差异,没显示具体修改
      git log —graph 树形状提交记录,可查看分支合并信息
    • git pull —rebase有冲突后,解决冲突,使用 git add .然后使用git rebase --continue

    • 切换到某个分支,将其他分支的某次提交应用到该分支

      git checkout <branch_name>
      git cherry-pick <commit id>
    • 前者表示把到之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;后者表示把到之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。

      git cherry-pick <start-commit-id>..<end-commit-id>
      git cherry-pick <start-commit-id>^..<end-commit-id>
    • tag

      • 新建tag

        git tag <tag_name> //轻量标签
        git tag -a <tag_name> -m "tag_msg" // 附注标签
        git tag -a <tag_name> <commint_id> // 给某次提交添加标签
      • 删除tag

        git tag -d <tag_name>
      • 查看tag

        git tag // 查看所有tag
        git show <tag_name> // 查看某条tag
      • 提交到远端

        git push origin <tag_name> // 将某个tag提交到远端
        git push origin –tags // 将所有tag提交到远端
      • branch相关指令
    • git branch -d <branch_name> // 删除某个分支
      git branch -D <branch_name> // 强制删除某个分支
      git branch -avv // 查看本地分支与远端分支关系,并且显示分支最新一次提交信息
      git remote show origin // 查看远端分支间关系

    5)建立本地仓库并初始化

    1、命令行打开本次仓库的文件夹目录或者直接创建

    cd !/(目录)

    2、仓库初始化

    git init

    3、将项目克隆到本地仓库

    git clone URL(项目的SSH地址)

    4、更新远程更新到本地:

    先打开本地仓库的目录,要是程序文件夹的目录

    然后输入更新代码命令,如下所示:

    git pull 

    5、提交代码

    git add .
    git commit -m “描述”
    git push origin master
     

    常见问题记录FAQ

    1.git pull代码的时候报如下错:

    error: Your local changes to the following files would be overwritten by merge:

    Please, commit your changes or stash them before you can merge.

    这表示更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来

    解决方法:先将本地内容存储起来,运行命令:git stach

    再git pull 即可

    2、git pull的时候报如下错:

    fatal: No remote repository specified. Please, specify either a URL or a

    remote name from which new revisions should be fetched.

    问题:打开的路径不对

    解决方法:打开本次仓库的正确路径,在更新代码

    结束语

    本篇粗略的介绍了Git的使用,但是对于Git内部的实现和一些具体的使用方法,还是需要自己去深入的了解。关于Git的详细介绍和工作原理,可以查看以下连篇文章。

    Git教程,里面有介绍到Git的工作原理,可以仔细阅读。

    Git Community Book 中文版介绍了Git具体使用,这本书也是关于Git的一本好书。

    Git练习,实战练习Git的各种指令。

     
  • 相关阅读:
    去除 CSDN “官方免费去广告 + 万能工具”
    github 搜索技巧常用
    Python 使用 __doc__ 查看文档
    油猴脚本编写自己的脚本来去除知乎 "我们检测到你可能使用了 AdBlock 或 Adblock Plus"
    Unity 中的 C# Instantiate() 方法解析
    《流畅的 Python 》第 2 章笔记
    html 中 a 标签中 href 的路径相关问题
    VScode 复制代码到博客园编辑器自动带上代码标签问题
    Vue在Ubuntu上的部署
    在ubuntu上编译方式安装nginx
  • 原文地址:https://www.cnblogs.com/kaola8023/p/9054981.html
Copyright © 2011-2022 走看看