Git的安装及配置

Git是一个版本控制管理工具,在项目管理方面有着极其重要的作用。下面是Git的安装步骤:

Git安装

Git官网:https://git-scm.com/

在官网下载相应软件后,进行双击安装,一路next即可。

安装完成后,在任意文件夹下右击,可看到其两个标志,其中Git Bash Here是我们常用的选项:

Snipaste_2021-07-29_17-21-42.jpg

点击可进入Git命令行,输入git --version后回车,出现版本信息即安装成功!

Git使用前配置

使用Git前,你需要告诉Git你是谁,有如下配置:

  1. 配置提交人名称:git config --global user.name 你的名称

  2. 配置提交人邮箱:git config --global user.email 你的邮箱

  3. 查看git配置信息:git config --list

    Snipaste_2021-07-29_21-04-55.jpg

    注意:你的名称和邮箱应该尽量与你的GitHub名称及邮箱保持一致,如果需要修改,重复以上代码即可。

Git的使用

提交步骤

  1. git init 初始化git仓库,执行后文件夹中会有一个.git文件夹,如果没有,则选择显示隐藏文件
  2. git status 查看文件状态
  3. git add 文件列表 追踪文件,添加到暂存区
  4. git commit -m 提交信息 向仓库提交代码,并标上相应的信息
  5. git log 查看提交记录

撤销方法

  1. git checkout 文件 用暂存区的文件覆盖工作目录中的文件;
  2. git rm --cashed 文件 将文件从暂存区中删除;
  3. git reset --hard commitID 恢复到指定的提交记录并覆盖暂存区和工作目录,之后的提交记录也会消失;commitID使用git log获取;

分支的使用

分支可以理解为当前工作目录的一个副本,使用分支可以使开发从主线上分离出来,避免影响主线开发。

分支细分

  1. 主分支(master): 第一次向git仓库中提交更新记录时自动产生的一个主线分支。
  2. 开发分支(develop):作为开发的分支,基于master分支而创建。
  3. 功能分支(feature):作为开发具体功能的分支,基于开发分支创建。

分支命令

  • git branch 查看分支
  • git branch 分支名称 创建分支
  • git checkout 分支名称 切换到该分支
  • git merge 来源分支 合并分支
  • git branch -d 分支名称 删除分支(分支合并后才可以被删除)(-d改为-D强制删除)

暂时保存更改

在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到个干净的工作副本,临时转向其他工作,相当于一个剪贴板的作用。

使用场景:当当前分支未开发完成,放到暂存区但未提交到库,这时需要做其他任务,如果直接过去,那么暂存区的内容也将被携带过去。这时,就需要以下命令将暂存区内容暂时存储到类似剪贴板的地方,并清空暂存区,之后再恢复。

  • 存储临时改动:git stash
  • 恢复改动:git stash pop (恢复前要在正确的分支上恢复,否则会恢复到其他分支上)

GitHub的使用

在版本控制系统中,大约90%的操作都是在本地库中进行的:暂存,提交,查看状态或者历史记录等等,除此之外,如果仅仅只有你一个人在这个项目里工作,那么本地仓库就足够了。
当你要和你的开发団队共享数据时,设置一个远程仓库才有意义。你可以把它想象成一个“文件管理服务器”,利用这个服务器可以与开发团队的其他成员进行数据交换。

GitHub注册

前往GitHub主页,点击Sign up进行注册账号。填写相应的用户名、邮箱、密码等相应信息即可。

批注 2021-07-30 125312.png

多人协作流程

  • A在自己的计算机中创建本地仓库;
  • A在 github中创建远程仓库;
  • A将本地仓库推送到远程仓库;
  • B克隆远程仓库到本地进行开发;
  • B将本地仓库中开发的内容推送到远程合库;
  • A将远程仓库中的最新内容拉去到本地。

仓库初建时

Snipaste_2021-07-30_12-59-49.jpg

仓库建成后

Snipaste_2021-07-30_13-00-04.jpg

将本地仓库推送到远程仓库

在GitHub上创建一个仓库,找到其仓库地址:

批注 2021-07-30 130612.png

推送到远程仓库的命令

  1. git push 远程仓库地址 分支名称
  2. git remote add 远程仓库别名 远程仓库地址 (给远程仓库起一个别名,一般设置origin)
  3. git push 远程仓库别名 分支名称
  4. git push -u 远程仓库别名 分支名称 (-u表示记录推送地址及分支,下次推送只需要输入git push即可)

从本地向远程仓库提交的基本步骤

  • git add 文件列表 追踪文件,添加到本地暂存区;
  • git commit -m 提交信息 向本地仓库提交代码,并标上相应的信息;
  • git push 远程仓库别名 分支名称提交到远程仓库。(别名需要事先声明)

克隆远程仓库

  • 克隆远程仓库:git clone 仓库地址 (另外,其地址别名也会被克隆过来)

克隆者向远程仓库提交代码

克隆不需要权限,但是如果克隆后对代码进行贡献,且想要推送到原远程仓库就需要被授予一定的权限。具体步骤如下:

原远程仓库创建者在GitHub上邀请团队成员:

Snipaste_2021-07-30_13-40-00.jpg

获取邀请链接并发送给该成员:

Snipaste_2021-07-30_13-43-31.jpg

被邀请成员登录GitHub,并将收到的邀请链接复制到浏览器地址栏进入,进行确认即可。

拉取远程仓库的最新版本

当远程仓库版本高于本地仓库版本时,是无法提交到远程库的,需要先pull拉取最新版本后再进行提交。

  • 拉取远程仓库最新版本:git pull 远程仓库地址 分支名称 (同样可使用别名)

解决冲突

  • 在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突。冲突需要人为解决。

  • 推送前pull拉取远程库最新版本,查看冲突,进行修改并删除无用的地方再提交即可。

Snipaste_2021-07-30_13-59-22.jpg

跨团队协作

  • 某团队外成员C将该项目fork(相当于复制一份到自己的仓库)到自己的GitHub中;
  • C将自己fork到的远程仓库克隆到本地仓库中进行修改;
  • 对本地修改正常推送到自己GitHub上fork到的远程库;
  • 点击Pull requests -> New pull requests -> Create pull request ,添加相应描述即可创建。
  • 团队内外成员可在Write区进行对话
  • 团队成员核查完发现代码没有问题,就可以进行合并(Merge pull request)了。

SSH免登录

使用http地址进行推送时,每次都需要输入github用户名和密码(win10可以记录密码,因此不需要多次),而使用SSH(公钥与私钥结合)则可以免登录验证。步骤如下:

  • 生成私钥:ssh-keygen
  • 私钥默认存储目录:C:\Users\用户\\.ssh
  • 公钥名称:id_rsa.pub
  • 私钥名称:id_rsa
  • 用户将公钥串进行复制,再到GitHub上,Settings -> SSH and GPG keys , 将公钥粘贴到Key位置进行添加即可。
  • 然后再进行项目提交等操作,只需要复制SSH地址,取别名等方式与http方式相同。

git忽略清单

将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件.

  • git忽略清单固定名称:.gitignore
  • 在该文件中,写上需要忽略的文件即可。

GitHub项目介绍

  • 创建readme.md文件,在文件中写入相应的项目介绍,在github中即可看到其介绍。

常用命令手册下载

点击这里下载常用命令手册 Git Cheat Sheet