安装Git 创建本地版本库版本库,文件上传,远程仓库的管理

在Linux上安装Git
首先,你可以试着输入 git,看看系统有没有安装Git:如果有安装的话就会展示出Git的一些基本命令
如果没有的话,我们直接yum安装一下就可以了(没有使用源码安装的必要)
$ yum install git  //等待安装完成。。。。

安装完成后我们来创建一个版本库
第一步创建一个版本库非常简单,选择一个合适的地方,创建一个空目录,然后进入次目录,顺便查看一下所在路径:
$ mkdir uter
$ cd uter
$ pwd
/Users/uter
//请确保目录名(包括父目录)不包含中文(基于操作系统的原因或许会出现一些错误)。

第二步,通过 git init命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/uter/.git/

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),然后当前目录下多了一个 .git的目录,这个目录是Git来跟踪管理版本库的,如果改乱了,就把Git仓库给破坏了。如果你没有看到 .git目录,那是因为这个目录默认是隐藏的,用 ls -ah命令就可以看见了。

到这里我们的版本库就创建成功了。如果需要把这个版本库取消那么直接把(.git)这个文件删除就可以了
$ rm -rf .git


现在试试把文件上传到版本库
我们接着上面的继续,先新建一个文件(测试来用就直接在此版本库里面)
$ vim a.txt //编辑好文件后退出

用命令 git add告诉Git,把文件添加到仓库:
$ git add a.txt	     //	可以同时添加多个文件

执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
用命令 git commit告诉Git,把文件提交到仓库:
$ git commit -m "注释说明"  //说明必须写不然会报错

然后使用 git log 方法可以查看版本信息

现在就开始简单介绍一下远程仓库的基本处理
相信我没团队工作的时候项目不可能放在一个人的电脑里(版本库里),这样就需要一台7*24小时开机的版本库来让我们使用

以Github为例作为远程仓库,如果你没有Github可以在官网 https://github.com/注册。
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:
使用以下命令生成SSH Key:
$ ssh-keygen -t rsa -C "[email protected]"

后面的[email protected]改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key(找一下你c盘的用户目录或者搜索一下)。

现在到浏览器回到github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的key。

然后登陆GitHub,在右上角找到“Create a new repo”按钮,创建一个新的远程仓库

之后在在Repository name 填入 w3cschool.cc(远程仓库名) ,其他保持默认设置,点击"Create repository"按钮,就成功地创建了一个新的Git仓库:(这里的复选框如果不选择就是表示本地有Git库,创建以等待本地的推送**,不选择则是创建一个新的库,我本地是有的了就没有选择)

创建成功后,会显示三个信息,诉我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到GitHub仓库,并且有相应的代码。
现在,我们根据GitHub的提示,在本地的仓库下运行命令:

我这里选择的第二个(把本地仓库的内容推送到GitHub仓库)

$ git remote add origin [email protected]:tianqixin/w3cschool.cc.git$ git push -u origin master
(一定要根据自己浏览器页面里给出的代码复制)

接下来我们回到浏览器返回 Github 创建的仓库刷新一下,就可以看到文件已上传到Github上:
不成功则多试验几下!!!!


查看当前的远程库
要查看当前配置有哪些远程仓库,可以用命令:
git remote
$ git remote
origin
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)

执行时加上 -v 参数,你还可以看到每个别名的实际链接地址。



提取远程仓库
Git 有两个命令用来提取远程仓库的更新。
1、从远程仓库下载新分支与数据:
git fetch

该命令执行完后需要执行git merge 远程分支到你所在的分支。
2、从远端仓库提取数据并尝试合并到当前分支:
git pull

该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。
假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行 git fetch [alias] 告诉 Git 去获取它有你没有的数据,然后你可以执行 git merge [alias]/[branch] 以将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。

$ git fetch origin

Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.remote: Counting objects: 3, done.remote: Compressing objects: 100% (2/2), done.remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (3/3), done.From github.com:tianqixin/w3cschool.cc 7d2081c..f5f3dd5 master -> origin/master
以上信息"7d2081c..f5f3dd5 master -> origin/master" 说明 master 分支已被更新,我们可以使用以下命令将更新同步到本地:

$ git merge origin/master (远程库名/分支名)
Updating 7d2081c..f5f3dd5Fast-forward "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 + 1 file changed, 1 insertion(+)



推送到远程仓库
推送你的新分支与数据到某个远端仓库命令:
git push [alias] [branch]
$ git merge origin/master

以上命令将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支,实例如下。




删除远程仓库
删除远程仓库你可以使用命令:
git remote rm [别名]
$ git remote -v 
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote add origin2 [email protected]:tianqixin/w3cschool.cc.git
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)


克隆远程库
首先,登陆GitHub,创建一个新的仓库,名字叫 gitskills
这里如果不明白就看上面的远程仓库创建

我们勾选 Initialize this repository with a README,这样GitHub会自动为我们创建一个 README.md文件。创建完毕后,可以看到 README.md文件:
现在,远程库已经准备好了,下一步是用命令 git clone克隆一个本地库:
点击那个Clone or download 按钮会出现这个库的链接,git clone 后面需要跟上要克隆的链接(复制自己的)
git clone [email protected]:michaelliao/gitskills.git

然后进入 gitskills目录看看,已经有 README.md文件了。
$ cd gitskills$ lsREADME.md

到此为止远程仓库的基本操作也完成了

你可能感兴趣的:(Linux)