作用:备份,实现代码共享集成化管理
1.目的
将远程仓库(GitHub对应的项目)下载到本地
2.复制
git clone 仓库地址
仓库地址获取(这里我下载OpenCV):
速度还挺快的哈,每秒4M多呢!以后可以用这种方法下载文件了。
我再下载自己的仓库
这里我下载了好几次才成功。
git add hello.c
git commit -m "提交描述"
git push
添加成功
如果提示:The requested URL returned error: 403 Forbidden while accessing等
答案:私有项目,没有权限,输入用户名密码,或者远程地址采用这种类型
vi .git/config
将url => https://github.com/用户名/仓库名.git
修改为: url => https://用户名:密码@github.com/用户名/仓库名.git
这部分摘自这篇博文:https://xiongyiming.blog.csdn.net/article/details/106153902
远程库拉取(pull)到本地库命令格式为: git pull origin master
,origin为远程库地址的别名。
将远程库文件更新到本地库,本地工作区文件将会更新,如果本地有和远程库同名的文件,将会强制更新本地库文件。
例如新建test_pull文件,新建123.txt文件,然后提交到本地库,如下图所示:
将远程库地址更改别名(git remote add origin 远程库地址
),然后执行命令:git pull origin master
此时发现,pull失败,因为本地库有和远程库不相同的文件,此时可以通过命令:git pull origin master --allow-unrelated-histories
强制拉取(pull)
下面将本地库文件全部推送到远程库,命令为:git push origin master
,结果如下图所示
此时刷新网页,查看GitHub仓库中123.txt文件成功的从本地库提交到远程库,如下图所示:
假设在GitHub仓库中更改文件内容,此时本地库内容没有变,现在然后从将远程库拉取(pull)到本地库,看看会不会强制更新本地库文件内容。
由上图可以看出,远程库123.txt文件被修改,此时将远程库拉取到本地库,执行命令:git pull origin master
,结果如下图所示,本地库123.txt文件被更新了。
当然也可以通过命令: git fetch origin master
将远程库文件抓取到本地库缓存区,此时本地库和工作区文件并没有被合并,
通过命令:git checkout origin/master
切换到本地库缓存的分支上,然后通过命令: cat 文件名
来查看文件内容
。
接下来可以将缓存区分支文件和本地库文件进行合并,通过命令:git checkout master切换到本地库分支上,然后再将缓存区的分支合并到本地库:命令为:git merge origin/master
。
注: pull操作相当于 fetch + merge 操作。关于git pull命令和git fetch命令的区别可以参见博客:
团队协作开发和跨团队协作开发(开源项目)可以参考之前的博客:GitHub协作开发项目
其实重点是远程仓库和本地仓库之间的推送(push)操作和拉取(pull)操作,因为在这个过程中可能出现远程库文件和本地库文件不相同,这是需要自己去判断。具体的问题在实际操作中可能会遇到,等遇到了这些问题在更新自己的笔记。