git是一个版本管理工具,采用分布式管理方法。我用github作为远程主机,当然在局域网内连接其他主机也是可以的。接下来将实现:
建立一个本地git仓库,
连接到github,
从本地进行文件修改后上传到github,
将github上的文件更新到本地
- 在本地一个目录下创建本地git仓库,用于git的各种管理
git init`
2.这个git只能查看你本地仓库里面的文件,想要实现连接共享功能,需要连接到远程主机上。这里我们选择通用的github。我们需要将github和本地git之间建立网络连接。
当然,在这里有三种可以使用的形式,正如同github上显示的那样:
我们选择SSH加密的url连接,格式为 git@github.com:NAME:XXXXXx.git
NAME 是你的github账号名
XXXXX.git是你的github仓库名称)
由于是SSH加密,我们需要在本地的git中配置验证信息:
$ ssh-keygen -t rsa -C "youremail@example.com"
后面的 your_email@youremail.com 改为你在 Github 上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。
成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key。
回到 github 上,进入 Account => Settings(账户配置)。
左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key。
之后可以看到:
在本地输入:
ssh -T git@github.com
如果输出
Hi,XXXX
那么说明git本地仓库已经和github上你的账号建立了SSH连接。
接下来在github上建立远程仓库,点击 new repository。
给个命名,剩下的保持默认。
那么到现在,你拥有了github上属于自己的一个仓库链接(当然,别人可以共享下载你的文件,这是github的开源性质决定的)
然后我们用
git remote add 主机名 url链接
将本地git和远程仓库连接起来,接下来我们用
git remote -v
可以看到现有的仓库名称
接下来开始进行实际操作:
- 写文件!
我们在git目录同级的目录下随便创建一个test.txt文件。
输入
git add test.txt
输入本次操作的提示日志:
git commit -m “添加test.txt文件”
现在我们的test.txt文件已经进入了缓冲区,并且head指向了“添加test.txt”这条日志。
这里介绍一下git的文件机制。我们每次在本地进行更改时,都是将更改的文件存储在缓冲区中,而head会指向最近一次的更新日志。当我们本地修改完毕后,想要同步到github上时,使用push指令,会将缓冲区的东西推到远程服务器中,实现更新操作。
- 上传文件
输入
git push 主机名 分支
例如我的远程主机名在连接仓库(见前面)的时候起名为origin 分支默认为master
git push origin master
就可以将我本地的文件以及更新日志一同上传到origin主机的master分支中了。
3.下载文件
输入
git fetch 主机名 分支
git将在目标分支中下载所有可以更新的文件,但并没有直接更新本地文件。
输入
git merge 分支
将刚才检索到的远程仓库文件中选中的分支下的可更新文件更新到本地。这条指令完成后,你所选中的分支就已经完全和远程一致了。