关于Git使用的一些记录
本地Git配置
首先在GitHub官网上创建一个账号
如果是Windows系统的话,在官网下载git的Windows版本
如果是Linux系统,可以通过命令行:
# sudo yum install git // Centos
# sudo apt-get install git // Debian
设置用户名和邮箱:
# git config --global user.name "name"
# git config --global user.email "email@xx.com"
在本地创建ssh_key:
# ssh-keygen -t rsa -C "your_email@youremail.com"
邮箱就是在GitHub上创建账号的邮箱,之后会创建一个.ssh
文件夹,里面有一个id_rsa.pub
文件,复制里面的内容
进入GitHub,在Settings > SSH > ADD SSH
,添加一个SSH,将id_rsa.pub
中的内容粘贴进去
然后输入
# ssh -T git@github.com
来验证是否添加成功
新建Git仓库
随便在系统中新建一个文件夹,然后进入这个文件夹,输入以下命令:
# echo "# test" >> README.md // 为test这个仓库新建 README.md
# git init //初始化当前目录为git仓库
# git add README.md //将README.md 添加到仓库
# git commit -m "first commit" // 更新说明
# git remote add origin git@github.com:Chunar5354/newtest.git //(改成自己新建的仓库),这个是SSH的地址
# git push -u origin master //将改动部署到远程仓库,只有第一次要加‘-u’,把本地 master 分支 推送到 服务器的master分支上,如果服务器没有此分支就新建一个
本地文件与远程交互
上传
在一个初始化好的仓库里面,每次有文件的改动,需要使用以下命令组合将改动上传到远程:
# git add filename //改动的那个文件
# git commit -m "first commit" //添加到commit
# git push origin master //push时,如果之前有过其他改动,会出错,需要先将改动pull下来
下载
# git pull origin //本地与远程建立了关联时的方式
会将github上面的改动都下载到本地
另外有一种方法clone
,会将指定的仓库下载到当前目录为一个文件夹:
# git clone git@github.com:Chunar5354/newtest.git //要下载的仓库的SSH地址
remote操作
查看remote:
# git remote -v
删除remote:
# git remote remove <name>
删除文件夹
# git pull origin master // 将远程仓库里面的项目拉下来
# dir // 查看有哪些文件夹
# git rm -r --cached target // 删除target文件夹
# git commit -m 'remove target' // 提交,添加操作说明
如果删除时进行了误操作,可以将删除文件恢复:
# git checkout HEAD filename
查看状态
# git status
查看当前仓库状态,是一个很有用的命令,在使用git出错的时候可以使用这个命令查看一些提示
重命名文件
# git mv oldname newname
一些异常情况
- 出现
fatal: loose object
异常:
# rm -fr .git // 将原来的本地git删掉
# git init // 重新初始化git来一套
# git remote add origin own_url
# git fetch
# git reset
# git branch
这时应该可以正常使用
- git pull时报错:
fatal:拒绝合并无关的历史
:
在git pull后加上一句:--allow-unrelated-histories
(忽略版本不同造成的影响)
为github上的.md文件添加目录
- windows系统中:
在这里下载工具
下载后解压缩,并将要生成目录的文件和解压的文件放在同一目录下,如:
dir/
gh-md-toc
README.md
输入命令:
# ./gh-md-toc README.md
便会在屏幕上打印以下内容:
Table of Contents
=================
* [安装](#%E5%AE%89%E8%A3%85)
* [配置](#%E9%85%8D%E7%BD%AE)
......
......
* [关于\_POST数组](#%E5%85%B3%E4%BA%8E_post%E6%95%B0%E7%BB%84)
* [全部程序](#%E5%85%A8%E9%83%A8%E7%A8%8B%E5%BA%8F)
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc.go)
最后将中间的内容复制到原README.md文件中即可
查看多次提交间更改的内容
首先将两次有差异的内容提交并合并,然后使用以下命令:
# git log // 查看所有的commit,获得commit_num(编号)
# git show commit_num // 打印某一次提交的变更内容在命令行中
# git show commit_num --color master > difff.txt // 将变更内容保存到文件并保留着色
NEXT树莓派开机教程