一、Git简介
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理很小或非常大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
二、Git安装
首先输入 git 命令,查看系统有没有安装Git,如果没有,根据提示【sudo apt-get install git】就可以直接完成Git的安装。
旧版本的Debian或Ubuntu Linux,可能要把命令改为【sudo apt-get install git-core】,如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:
./config
make
sudo make install
三、本地项目上传到Github
1、在本地创建一个版本库(即文件夹),该目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来可以“还原”;
mkdir learngit
2、通过【git init 】命令将该目录变成Git可以管理的仓库(初始化一个Git仓库),此时当前目录下多了一个 .git 的目录,通过【ls -ah】命令可以看见该隐藏目录;
cd learngit
git init
3、把项目复制到这个文件夹里面,再通过【git add】把项目添加到仓库;
git add 文件名
4、再通过【git commit -m "注释内容"】把项目提交到本地仓库,如果出现Author identity unknown错误,按照提示输入命令即可;
5、在用户主目录下,查看有没有.ssh目录,如果有,再看下该目录下有没有id_rsa和id_rsa.pub这两个文件,如果都有,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key,一直回车,使用默认值即可;
$ ssh-keygen -t rsa -C "youremail@example.com"
6、登录GitHub,打开"Account " -> "settings" -> "SSH Keys" -> "Add SSH Key",填写任意Title,在Key文本框里粘贴id_rsa.pub文件的内容;
7、在Github上设置好SSH密钥后,新建一个远程仓库"Create a new repo",填写Repository name,其他保持默认设置,点击"Create repository"按钮;
8、根据GitHub的提示,在本地的learngit仓库下运行命令【git remote add origin git@github.com:xxx/xxx.git】将本地仓库和远程仓库进行关联,此处注意替换成自己的GitHub账户名及远程仓库名;
9、最后通过【git push -u origin master】命令将本地仓库的项目推送到远程仓库(也就是Github)上。
以后,只要本地做了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,这样你就拥有了真正的分布式版本库!
注意:如果出现如下错误,是因为直接在github上在线修改了代码,或者是直接向某个库中添加文件,但是没有对本地库同步,接着想push上传到远程库,就会失败。
解决方法:因为远程库与本地库不一致造成的,那么把远程库同步到本地库即可。
1、提前防止发生这个警告:如果之前没有在本地库中进行commit,那么直接通过pull拉取要上传的远程库即可;
git pull 远程库别名 master
2、之前已经commit了:需要通过 --rebase 取消掉本地库中刚刚的commit。
git pull --rebase 远程库别名 master
出现Successfully rebased and updated refs/heads/master.即成功。