git学习笔记

55 阅读6分钟

Git

教程:Github入门教程

安装卸载:Git安装与卸载

Git 命令

git status 命令 | 菜鸟教程 (runoob.com)

git add <filename>  # 添加指定文件到暂存区
git add .           # 添加所有更改到暂存区

git commit -m "commit message"  # 提交暂存区的更改到本地仓库

查看文件状态:git status

  • -s --short 选项——精简输出

第一列字符表示版本库与暂存区之间的比较状态。

第二列字符表示暂存区与工作区之间的比较状态。

' ' (空格)表示文件未发生更改

M 表示文件发生改动。

A 表示新增文件。

D 表示删除文件。

R 表示重命名。

C 表示复制。

U 表示更新但未合并。

? 表示未跟踪文件。

! 表示忽略文件。

未跟踪和忽略文件会显示相同的两列,如 ??。

  • -b --branch 选项——显示分支和跟踪信息

  • -v --verbose 选项——显示变更的文本内容

只有一个 -v 选项时,显示版本库和暂存区之间比较发生变更的内容。

而有两个 -v 选项时,显示暂存区和工作区之间比较发生变更的内容。

注意:在不使用 -s 选项时才会显示变更内容

image.png

给git配置邮箱和用户名

作用:远程仓库一般支持两种协议:SSH和HTTPS,SSH协议只认机器,HTTPS协议只认账号;也即为:如果使用SSH操作远程仓库的话,我们需要使用公钥和私钥对来做权限的认证,如果使用HTTPS操作远程仓库,则需要使用账号密码来做权限的认证。无论是公钥私钥对,还是账号密码,都只做权限的认证;但是远程仓库里需要记录这些提交记录是由谁来完成的;所以我们需要给本地的git设置用户名和邮箱,用于从本地仓库向远程仓库提交记录时,在远程仓库记录下这些操作是由谁来完成的。

对给git配置邮箱和用户名的理解_git配置邮箱的意义

$ git config -l  //查看信息
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

git隐藏文件

教程:.gitignore 文件——如何在 Git 中忽略文件和文件夹详细教程

git 报错和问题

多人开发使用git

视频教程:Git (GitHub)多人开发最正确的使用方式,不被辞退系列教程(上)!_哔哩哔哩_bilibili

笔记:

一、在远程服务器上创建一个共享版本库
  1. 项目负责人打开远程的服务器,然后创建一个工作区

  2. 在远程的服务器上打开工作区,在工作区中打开Git终端工具

  3. 在Git终端工具中输入git init-bare

  4. 经过以上几步,就代表远程服务器上的共享版本库已经创建好了

二、开发人员下载远程版本库

1.开发人员在自己的电脑上打开Git终端工具

2.从远程的服务器上下载当前项目的共享版本库git clone远程服务器共享版本库地址。 和单人开发使用Git的区别:单人开发是自己创建版本库,而多人开发是从远程服务器下载版本库

三、进入开发阶段

和单人开发一样

  1. 设置用户名和邮箱

  2. 编写代码

  3. git add.添加到暂缓区

  4. git commit-m添加到HEADER指针指向的分支

  5. 注意点: commit是将编写好的代码提交到本地的版本库,所以其它的开发人员是拿不到我们提交的代码的如果想让其它开发人员也能拿到我们提交的代码,还必须将编写好的代码提交到远程的服务器

多人开发特有:

  1. 将代码提交到远程的服务器 git push

  2. 其它的开发人员只需要通过git pull就可以拿到更新的代码了

多人开发使用Git注意点:
  1. 不能将不能运行的代码提交到本地和远程服务器(切记一定不能)

  2. 如果服务器上有其它开发人员的更新内容,那么我们不能直接通过push将我们的代码提交到服务器。如果服务器上有其它开发人员更新的内容,我们必须先将其它开发人员更新的内容更新到本地之后才能通过push提交我们的内容

  3. 如果我们更新的内容和其它同事更新的内容有冲突(修改了同一个文件的同一行代码),这个时候需要我们自己手动修改冲突,修改完冲突之后才能将代码提交到远程服务

分支冲突解决

教程:详解Git合并冲突——问题重现、原因及解决 “Automatic merge failed; fix conflicts and then commit the result.“_automatic merge failed; fix conflicts and then com-CSDN博客

  • 将节点 xxx1 合并进 develop 分支冲突
  • 进入要合并的节点 develop
  • git pull
  • 创建新的分支 git branch xxx2(创建并进入 git checkout -b xx2
  • 切换到新的分支 git checkout xxx2
  • 将原来要合并进来的节点merge过来(新编写的代码节点) git merge xxx1,修改冲突
  • git commit -m "合并冲突说明"
  • 提交分支 git push --set-upstream origin xxx2

撤销git pull,回退到旧版本

  1. 查询所有版本情况:git reflog
  2. 看到要删除的版本的前一次提交是第几个版本,如HEAD@{7}
  3. 跳转到这个版本:git reset --hard HEAD@{7}
  4. 强制提交到云端:git push --force
  5. 本地重新修改提交新版本即可

Git撤销对远程仓库的push&commit提交

Gitub

Gitub网站加速器

软件+教程:【Github加速插件】

github配置git的SSH公匙

Github配置ssh key的步骤

GitLab

gitlab密匙

首次在码云或gitlab拉取代码时,除了要进行git的用户名和邮箱配置外,还要配置对应的密钥。 教程:gitlab添加SSH密钥

VS Code软件内提交到码云

教程:VScode绑定码云并向仓库上传代码

  1. 进入源代码管理

image.png

  1. 点击文件可以查看内容修改的情况

  2. 点击+号,可以将文件上传到暂存区,点击-号取消暂存。

image.png

  1. 点击右上角的三个点,可以将代码提交到码云并标注信息。

image.png

  1. 点击右上角的三角,点击“推送”。
    第一次推送的话:会让你输入账号和你上传仓库的地址。账号就是你自己码云的账号和密码,地址是你创建的远程仓库的地址。
    若代码没有上传成功:就回到你仓库,最后有两句代码。手动传一下即可。