MAC端Git安装,命令使用以及环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hbblzjy/article/details/55209992

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

git config --global user.name "your_name"  
git config --global user.email "[email protected]"

配置信息可以更改,以后想要更改使用上面指令就可以。同时可以使用git config --list指令查看Git的配置信息。

Git默认是大小写不敏感的,也就是说,将一个文件名某个字母做了大小写转换的修改Git是忽略这个改动的,导致在同步代码时候会出现错误,所以建议大小把Git设置成大小写敏感。

git config core.ignorecase false

生成密钥

Git关联远端仓库时候需要提供公钥,本地保存私钥,每次与远端仓库交互时候,远端仓库会用公钥来验证交互者身份。使用以下指令生成密钥。

ssh-keygen -t rsa -C "[email protected]"

生成密钥后,在本地的/Users/当前电脑用户/.ssh目录下会生成两个文件id_rsaid_rsa.pubid_rsa文件保存的是私钥,保存于本地,id_rsa.pub文件保存的是公钥,需要将里面内容上传到远端仓库。

获取公钥字符串具体操作如下图。


图-1 获取公钥

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

远端仓库添加密钥

以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到本地目录(如果要是自己创建的仓库,参考上传到github上的Demo操作:http://blog.csdn.net/hbblzjy/article/details/52301633

  • (从这里开始,是很很很重要的命令行,要记住!!!)配置完ssh-key,首先 cd 本地文件夹地址(新建一个本地文件夹,最好不要有中文)

  • 然后git init(如果此文件夹没有操作过)

  • (git config —global user.name “XXX"
    git config --global user.email “XXXX“)如果在之前输入过,这里可要可不要

  • 然后git clone <远端git——ssh地址(http地址下载)> 

  • 这个时候,我们clone下来的是主支master代码,但是有时候我们需要在分支上修改代码、提交。这个时候怎么办?怎么拉取分支的代码?1、首先打开我们clone下来的master代码的文件夹下的终端:cd 代码根目录文件夹地址;2、然后查看分支列表:git branch -l :查看本地分支//git branch -r :查看远程分支//git branch -a :查看全部分支(远程的和本地的)(我一般使用第三个命令),这个时候列表的第一行显示的应该是:* master;3、找到分支名称,执行:git checkout -b 分支名称 origin/分支名称;4、验证,查看分支列表:git branch -a,可以看到第一行显示的是:* 分支名称;5、如果想回来,那么:git checkout master,然后还可以查看分支列表验证;如果还想切换回原来下载过的分支,执行git checkout 分支名称;新的用:git checkout -b 分支名称 origin/分支名称;

  • 终端:cd 项目文件夹地址(以下四行命令,是修改代码后需要进行的操作,很重要!!!要记住!!!)

  • 先拉取 git pull

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

  • 推送修改的文件:git push

  • (在你保存更改要push的时候,别人有提交,先执行git pull --rebase,修改冲突提交,然后push
    如果你更改了还没提交,别人有提交,先git pull,修改冲突提交,然后push,如果出现问题,退出填写提交信息,git log查看你拉取了哪些更新日志,如果日志下面有 :  q退出,然后git reset (pull之前本地最新日志对应的代码前六位)--soft/hard,--soft表示保存本地更改,--hard表示不保存本地更改)

  •  
  •  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 // 查看远端分支间关系

结束语

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

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

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

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

猜你喜欢

转载自blog.csdn.net/hbblzjy/article/details/55209992