git(一) 命令行操作

参考:Git远程操作详解

git = GNU it 是一个版本控制系统。

github和简书有点像,这里放的是文章,github放的是代码。

github的精髓就是开源,开放源代码使得所有人可以方便的学习编程,可以使得开放的软件被众人浏览从而发现bug,而不是像闭源软件那样藏得严严实实生怕别人偷走了劳动成功。

开源闭源各有优缺点这里就不开展撕逼大战了。

github账号注册就不写了,这里聊聊github的使用。

前提:需要有一个github账号,并且新建一个仓库。

案例:用git进行版本控制。

简单的说就是本地建立一个目录,然后通过一些命令批量备份到云端 (远程)。

步骤一:

在github上新建一个仓库,使用git clone 仓库地址下载到本地

1
git clone https://github.com/Whale3070/test

git config -l

查看配置信息

步骤二:

git设置一下该仓库的用户的信息,并初始化

1
2
3
4
5
6
#git config ‐‐global user.name "whale"
#git config ‐‐global user.email xx@qq.com
#git config --global credential.helper store 
配置存储密码
#git config --list
#git init

步骤三

添加远程git目录,将远程的和本地的目录进行关联。 关联不需要验证,但是推送到远程目录时,需要验证。

3.1 将本地和远程关联的格式:

是用git remote add 主机名 网址来添加的。

a是远程的地址,b是本地的地址。

#git remote add origin https://github.com/Whale3070/test

3.2 发送到远程目录 新建一个文件,test.c。

1
2
3
4
5
6
#touch test.c
#echo 'hello world' > test.c
#git add test.c
修改完,需要手动添加,之后发送的是这个时间点的test.c。
#git commit ‐m "文件说明"
#git push ‐u origin master

于是本地的更改会发送到https://github.com/Whale3070/ctfcoding这个地址下。

错误:

提交了空目录

11

解决方式:Git常见错误与操作

12

错误二:fatal: refusing to merge unrelated histories

13

当 远程 ‐‐‐>本地 时候,报错

运行git pull origin master ‐‐allow‐unrelated‐histories 因为git版本原因。

错误三:

14

git push origin master ==》命令x

本来是本地status A ‐‐‐> 远程status A 然后,我们更改本地status A ,为本地status A1 将本地status A1 发送到远程。

但是 本地status A ‐‐‐> 远程status B ,因为远程被更改 于是它们状态不同,要先同步一下,才能将本地发送出去。 远程status B ‐‐‐‐> 本地status B 同步完成 再运行命令x 即可。

1. git config ‐‐list 查看已经设置的参数

git config 查看可用的选项

一般要设置用户名,邮箱,远程origin地址等

2. 远程推送无需用户名密码,使用密钥认证。

ssh ‐T git@github.com

7

错误:

1
2
sign_and_send_pubkey: signing failed: agent refused operation
Permission denied (publickey).

解决:

1
2
eval "$(ssh‐agent ‐s)"
ssh‐add

8