Git使用

Posted by Shenpotato on January 28, 2020

本文主要讲述了什么是Git,如何配置本地Git以及本地Git仓库和远程Github如何进行交互

操作以mac系统下为例

一、Git和Github 的概念

  • Git是一个版本控制软件,进行控制的形式多样,可通过git bash,git gui实现本地仓库的创建,与远程仓库的连接,上传内容至远程仓库,从远程仓库下载内容至本地仓库等功能。

  • Github是一个版本控制社区网站。用户可在Github上申请账号,并创建版本仓库。在Github上的仓库即为远程仓库。

二、Git的使用

1、Git的安装与配置

(1)安装

安装部分不多做说明,主要就是搜索git下载,安装的过程

(2)配置

以配置整台机子的Git仓库为例。通过git config --global设置username以及userpassword等属性,实现与Github相连接。

绑定本地仓库与远程仓库(设备为mac,通过ssh实现连接):

以mac为例,在本地生成ssh key,并将该ssh key放置于github上的设置中,实现连接

1
2
3
4
5
生成方式:
ssh-keygen -t rsa -C "xxx@xx.com"

mac本地生成的ssh-rsa密钥,存放位置在:
/Users/shenzhengtao/.ssh/id_rsa.pub

2、Git的使用

我们以命令行来讲解Git的使用。

如上所说,Git是一个版本控制软件,它维护的东西是仓库,在仓库上实现代码、文档修改的记录,回退等功能。

我们以如何将本地的文件上传至远程仓库来讲解基础的Git使用。

(1)将本地文件上传至Github仓库

  • 在本地打开终端,将当前目录移至需上传的目录
  • 通过git init.创建初始本地仓库
  • 通过git add .将本地需要上传的文件添加至缓冲区,可通过键入具体的文件名实现上传具体的文件至缓冲区
  • 通过git commit -m "commitmessage"将缓冲区的文件上传至本地仓库。其中commitmessage为自己想要为此次提交添加的备注,方便日后查看。
  • 接着,我们需要在Github上新建仓库,这个仓库即为远程仓库,并获取到https地址。
  • 通过git remote add origin httpsaddr将本地仓库与远程仓库绑定,其中httpsaddr是远程仓库地址。
  • 通过git push -f origin master将当前分支master推送到远端。其中-f是忽略本地和远程仓库冲突的部分,强制将本地仓库推送至远程仓库。就此,本地文件上传到远程仓库的过程完成。

(2)创建和合并分支

在实际生产中,每个人都有负责的部分代码,会对代码进行修改。为了实现每个人都可以对代码进行修改且不干扰别人的修改,分支的概念随之产生。通常,master分支我们称为主分支。我们一般从master分之下clone代码,并在自己的分支上进行修改,最后再merge到主分支master分支之上。

总结创建和合并分支的命令:

  • 查看分支:git branch
  • 创建新分支:git branch newbranchname
  • 切换分支:git checkout branch name
  • 创建+切换分支:git checkout -b branchname
  • 删除分支:git branch -d branchname
  • 合并分支:git merge branchname

三、patch的概念

1、应用场景

当多人维护一个项目的时候,组员发现一个项目有bug时但又没有提交修改的权限,所以需要将自己所做的修改用diff命令生成一个patch,patch记录了组员所做的修改,组长能更高效的审视组员所做的修改。

2、diff命令制作补丁

` diff [option] oldfile newfile > patchname.patch`

其余方面可参考这篇csdn博客:blog.csdn.net/youzhouliu/article/details/78952453

四、问题记录

  1. 将本地仓库连接到远程仓库时提示:git fatal: 远程 origin 已经存在

    是因为git的远程地址配错了,需要先移除现有的origin,再添加上正确的gitpath。

    1
    2
    
    git remove rm origin
    git remote add origin correct gitpath