远程仓库 GitHub
远程仓库
这里介绍的远程仓库指的是 GitHub, 在这个网站,所有非私有的的代码,都可以被其他人查看,所以,一些机密或者重要的文件千万不要上传到这里面,如果需要可以购买付费版本或自己公司搭建埃及的远程仓库
添加远程仓库
登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库, 创建成功后得到一个空的仓库,下面会给出命令,将我们本地的 git 仓库与他相关联,根据提示便可以完成。
把本地库的内容推送到远程
创建远程仓库
写readme
git add .
git commit ...
git push origin master // origin 是别名
可以在 .git/config 配置文件中修改
把远程仓库内容克隆到本地
远程库已经准备好了,下一步是用命令 git clone
克隆一个本地库
git clone https://github.com/WuPeiqi/s5day83.git
协同开发
通常用到的分支
master : 存放稳定的
review : 个人代码在这里合并,合并成功后(清除冲突后),放入 dev
dev : 开发版本的代码
当你从远程仓库克隆时,实际上Git自动把本地的master
分支和远程的master
分支对应起来了,并且,远程仓库的默认名称是origin
。
要查看远程库的信息,用git remote
:
$ git remote
origin
或者,用git remote -v
显示更详细的信息:
$ git remote -v
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
上面显示了可以抓取和推送的origin
的地址。如果没有推送权限,就看不到push的地址。
推送分支
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上
$ git push origin master
如果要推送其他分支,比如dev
,就改成:
$ git push origin dev
Fork
主要是用来修改别人程序的 bug, 但由于没有权限,所以只能复制一份到自己的仓库中,修改后发送给对方,等待对方采纳或忽略。。。
你可以访问它的项目主页,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:
git clone git@github.com:michaelliao/bootstrap.git
注:一定要从自己的账号下clone仓库
如果你修改成功后,推送到自己的仓库。
如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了。
让 Git 输入框有颜色
$ git config --global color.ui true
忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore
文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
https://github.com/github/gitignore 这个网络中有许多写好的配置,我们可以用来参考下
忽略文件的原则是:
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的
.class
文件; - 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
举个例子:
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini # Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build # My configurations:
db.ini
deploy_key_rsa
下面是一些规则说明
a.* // a开头的所有后缀名
test/[abc].py // test目录下的 a.py 或 b.py 或 c.py
[abc] // a 或 b 或 c
test/* // test下的所有文件
!test/a.py // 非 test下的a.py 文件
.idea/* // .idea文件夹下的所有文件
*.pyc // 所有.pyc 文件
*.excel // 所有 .excel 文件
最新文章
- 附录A 编译安装Hadoop
- Mac上安装与更新Ruby,Rails运行环境
- SVN强制解锁操作
- sql server 2008 相关基础(物理备份还原)
- CentOS FTP基于虚拟用户的配置
- hdu1540(线段树)
- 现代C++新四大名著及C++学习杂谈
- 【Linux基础】查看硬件信息-CPU
- Linux分区的几种方案
- js排序问题
- linux系统运行状态检查
- spoj COT - Count on a tree (树上第K小 LCA+主席树)
- bat 脚本处理windows 文件
- cf1020c 瞎搞
- Meclipse alt+/ 没有提示
- ThreadLocal源码实现。
- Apache Mina UDP连接目标服务器地址时出现异常
- 2018.10.31 NOIP模拟 一些情报(倍增)
- python之GIL理解
- linux:任务计划crontab
热门文章
- linux make: *** No targets specified and no makefile found. Stop.
- c++11引入特性
- Code First 延迟装入特性
- 获取FileSystem
- 极简Vue的异步组件函数
- getstu
- 78、tensorflow滑动平均模型,用来更新迭代的衰减系数
- bp网络全解读
- Tomcat负载均衡、调优核心应用进阶学习笔记(五):Tomcat调优和Tomcat监控(差评)
- Python集成开发环境Pycharm+Git+Gitee(码云)