Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。
区域介绍:
初始准备:码云认证(本地生成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
(完整写法,远程分支若不存在则会被创建)
下载地址
下载后傻瓜式一键安装,建议安装在英文目录下
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 bash,输入终端命令进行测试
ssh -T [email protected]
出现如下结果表示认证成功:
git init
在该目录下生成.git
文件夹
git add .
或者 git add 目录
将文件添加到本地仓库
git commit -m"备注"
将文件提交至本地仓库
git remote add origin [email protected]/xxxxxxx.git
使用 之前建立仓库时 复制的仓库的 路径链接
git pull --rebase origin master
远程仓库与本地仓库合并
推送代码到远程仓库
git push -u origin master
推送到远程分支
改动后,项目文件会从红色变成绿色
依次执行:add commit push
add
git add hospital-parent/
或者
git add.
commit
git commit -m "第二次提交"
push
将本地仓库的所有更改推送到远程服务器的master分支
git push origin master(完整写法,远程分支若不存在则会被创建)
或者
git push origin(远程仓库与本地仓库存在分支最终关系的写法)
或者
git push(远程仓库只有一个分支,最简单的写法)
创建一个目录
$ mkdir firstgit
进入该目录
$ cd firstgit/
查看当前所在磁盘的位置
$ pwd
初始化仓库
$ git init
参考:Git快速上手与码云实战 | 君哥的学习笔记 (it235.com)
参考: fatal: remote origin already exists. (远程来源已经存在 解决办法)
解决方案:
关联了错误的远程仓库,一般是仓库地址链接输错了,重新关联即可,要从ssh中找到仓库链接
操作步骤:
git remote -v
查看远程库信息
先输入``$ git remote rm origin`(删除关联的origin的远程库)
再输入``$ git remote add origin [email protected]:(github名)/(git项目名).git` 就不会报错了!
当本地代码基于相比远程代码仓库较旧的代码进行修改时,使用git push 或者git pull有可能导致代码冲突,解决办法:
merge时以本地代码为准,所有包含冲突的内容都使用本地代码进行覆盖:git pull -s recursive -X ours;
merge时以远程代码为准,所有包含冲突的内容都使用远程代码进行覆盖:git pull -s recursive -X theirs;
如果已经使用了git pull且已经存在代码冲突了,此时可以根据冲突的文件逐个执行执行合并:git checkout -X theirs path/to/conflict/file;
规避代码冲突的方法:任何时候在修改本地代码之前,都先使用git pull更新本地代码。
参考:在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
为 合并冲突的文件
如果要混合,需要使用合并工具或手动编辑它。
参考:vim编辑时遇到E325
当我们在 vi 编辑文档过程中,若出现意外中断,则会在当前目录下产生一个 .*.swp 文件,这个文件是一个隐藏文件,使用 ls 是不能够查看到的,要使用 ls -a 或者 ll -a 命令可以查看到,只要我们将这个文件删除,当我们再次 vi 打开该文档的时候就不会再出现以上的报错。