git学习笔记

概述:

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。

区域介绍:

git学习笔记_第1张图片

一般步骤:

初始准备:码云认证(本地生成SSH公钥,复制到码云)

创建仓库:创建后 复制 SSH地址

首次关联:

  • 本地仓库初始化

git init 在该目录下生成.git文件夹

  • 关联仓库

git remote add origin [email protected]/xxxxxxx.git

使用 之前建立仓库时 复制的仓库的 路径链接

git pull --rebase origin master 远程仓库与本地仓库合并

正常推送

git add . 或者 git add 目录 将文件添加到本地仓库

git commit -m"备注" 将文件提交至本地仓库

git push origin master(完整写法,远程分支若不存在则会被创建)

1 git安装

1.1 安装

下载地址

下载后傻瓜式一键安装,建议安装在英文目录下

image-20210609191535049

  • GUI为用户界面模式
  • Bash为命令行模式

1.2 码云认证

生成新的SSH key

git是分布式管理工具,需要输入用户名和邮箱以作为标识,右键打开 git bash ,输入:

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

生成SSH公钥,许多 Git 服务器都使用 SSH 公钥进行认证:

# 输入如下命令,三次回车即可生成 ssh key
ssh-keygen -t rsa -C "[email protected]"

补充ssh-keygen -t rsa -b 4096 -C "邮箱":这条命令的目的是为了让本地机器ssh登录远程机器上的GitHub账户无需输入密码。

ssh-keygen(基于密匙的安全验证):需要依靠密钥进行安全验证,必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。
	-t 即指定密钥的类型。密钥的类型有两种,一种是RSA,一种是DSA。
	-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
	-C 表示要提供一个新注释,用于识别这个密钥。“”里面不一定非要填邮箱,可以是任何内容,邮箱仅仅是识别用的key。

码云上配置密钥

查看你的 public key,输入:

cat ~/.ssh/id_rsa.pub

复制public key,打开’设置’,复制公钥,点确定

git学习笔记_第2张图片

打开git bash,输入终端命令进行测试

ssh -T [email protected]

出现如下结果表示认证成功:

image-20210609192901542

2 码云配置Git仓库

2.1 码云仓库设置

  • 新建仓库

git学习笔记_第3张图片

  • 初始化仓库

git学习笔记_第4张图片

  • 选择SSH 中的路径链接复制

git学习笔记_第5张图片

2.2 首次关联仓库与推送

  • 本地仓库初始化

git init 在该目录下生成.git文件夹

git add . 或者 git add 目录 将文件添加到本地仓库

git commit -m"备注" 将文件提交至本地仓库

git学习笔记_第6张图片

  • 关联仓库

git remote add origin [email protected]/xxxxxxx.git

使用 之前建立仓库时 复制的仓库的 路径链接

git pull --rebase origin master 远程仓库与本地仓库合并

git学习笔记_第7张图片

  • 推送代码到远程仓库

    git push -u origin master 推送到远程分支

2.3 后续文件改动与推送

改动后,项目文件会从红色变成绿色

git学习笔记_第8张图片

依次执行:add commit push

git学习笔记_第9张图片

add

git add hospital-parent/
或者
git add.

commit

git commit -m "第二次提交"

push

将本地仓库的所有更改推送到远程服务器的master分支
git push origin master(完整写法,远程分支若不存在则会被创建)
或者
git push origin(远程仓库与本地仓库存在分支最终关系的写法)
或者
git push(远程仓库只有一个分支,最简单的写法)

3 git基本操作和命令

3.1 常用命令

git学习笔记_第10张图片

3.2 Linux下git的基本操作

创建一个目录
$ mkdir firstgit

进入该目录
$ cd firstgit/

查看当前所在磁盘的位置
$ pwd

初始化仓库
$ git init

4 Pycharm/IDEA配置gitee

参考:Git快速上手与码云实战 | 君哥的学习笔记 (it235.com)

5 遇到的问题及解决方案

fatal: remote origin already exists.

参考: fatal: remote origin already exists. (远程来源已经存在 解决办法)

解决方案:

关联了错误的远程仓库,一般是仓库地址链接输错了,重新关联即可,要从ssh中找到仓库链接

操作步骤:

git remote -v 查看远程库信息

先输入``$ git remote rm origin`(删除关联的origin的远程库)

再输入``$ git remote add origin [email protected]:(github名)/(git项目名).git` 就不会报错了!

Git仓库中的代码与本地代码冲突

当本地代码基于相比远程代码仓库较旧的代码进行修改时,使用git push 或者git pull有可能导致代码冲突,解决办法:

  1. merge时以本地代码为准,所有包含冲突的内容都使用本地代码进行覆盖:git pull -s recursive -X ours;

  2. merge时以远程代码为准,所有包含冲突的内容都使用远程代码进行覆盖:git pull -s recursive -X theirs;

  3. 如果已经使用了git pull且已经存在代码冲突了,此时可以根据冲突的文件逐个执行执行合并:git checkout -X theirs path/to/conflict/file;

  4. 规避代码冲突的方法:任何时候在修改本地代码之前,都先使用git pull更新本地代码。

【both added】合并冲突

参考:在git中解决’both added’合并冲突?

问题描述:

# Unmerged paths: 
# (use "git reset HEAD ..." to unstage) 
# (use "git add/rm ..." as appropriate to mark resolution) 
# 
#  both added:   src/MyFile.cs 

解决方法:

使用
git checkout --ours src/MyFile.cs
从要重新绑定的分支中选择版本,

或使用
git checkout --theirs src/MyFile.cs
从要分配的分支中选择版本。

其中src/MyFile.cs为 合并冲突的文件

如果要混合,需要使用合并工具或手动编辑它。

E325: ATTENTION Found a swap file

参考:vim编辑时遇到E325

当我们在 vi 编辑文档过程中,若出现意外中断,则会在当前目录下产生一个 .*.swp 文件,这个文件是一个隐藏文件,使用 ls 是不能够查看到的,要使用 ls -a 或者 ll -a 命令可以查看到,只要我们将这个文件删除,当我们再次 vi 打开该文档的时候就不会再出现以上的报错。

你可能感兴趣的:(开发工具,Linux,git,linux,github)