1.克隆仓库
克隆远端数据仓库到本地:git clone 仓库地址
2.拉取远程仓库中最新的版本
拉取远程仓库中最新的版本:git pull 远程仓库地址 分支名称
邀请别人成为当前项目的开发者,别人就可以向公共仓库推送代码。
流程如下:
进入github仓库—> settings---->Manage access----->第一次添加会弹出密码输入框------>Invite a collaborator (输入你邀请的B程序员github账号)----> 发送邀请------>B程序员登陆邮箱接受邀请------B程序员可以向仓库推送代码
这将产生一个流程图。:
进入github仓库
点击settings
选择Manage access
Invite a collaborator 输入对账号或邮箱发送邀请
对方登陆邮箱点击接受邀请
B程序员可以向仓库推送代码
在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突。冲突需要人为解决。
即使你不是团队成员,也可以向别人的仓库贡献代码。
程序员 C fork仓库
程序员 C 将仓库克隆在本地进行修改
程序员 C 将仓库推送到远程 (git push 远程仓库地址 master)
程序员 C 发起pull reqest
点击pull requests—>点击 new pull request-–>create pull request-—>输入推送描述信息–>create pull request
原仓库作者审核 (与提交者对话)
原仓库作者合并代码 (merge pull request)
https协议仓库地址格式:https://github.com/itcast-frontEnd/git-demo.git
每次用https协议的地址进行git push git pull操作时都需要输入github账号密码进行身份验证。所有我们有了ssh协议,可以免登陆操作。
生成秘钥:ssh-keygen
秘钥存储目录:C:\Users\用户.ssh
公钥名称:id_rsa.pub (放到github服务器中)
添加远程仓库,起别名:origin_ssh
git remote add origin_ssh [email protected]:teach-tian/ccc.git
向远程仓库origin_ssh推送,无需密码。
git push origin_ssh master
将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件。
git忽略清单文件名称:.gitignore
内容为:
dependencies npm包文件
/node_modules/
过滤所有.zip文件
*.zip
过滤某个具体文件
/cc/a.css
production 打包文件
/build/
将工作目录中的文件全部添加到暂存区:git add .
创建 README.md(使用markdow 语法)
ls 查看文件/目录
pwd 显示当前的工作目录
cd 进入目录
[例子]:
cd 回到注册进入时的目录
cd /tmp 进入 /tmp 目录
cd …/ 进入上级目录
mkdir 创建目录
rmdir 删除目录
cat 显示文件至标准输出
7.cp 拷贝
例子
cp fi le1 file2 将文件 file1 拷贝到文件 file2
[例子]:
mv file1 file2 将文件 file1 改名为 file2
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
touch 创建文件
vi 编辑
i 插入 编辑内容
esc 退出编辑
:wq 保存并退出
更多linux 指令参考:https://www.cnblogs.com/frankliiu-java/articles/2059537.html
git: 分布式版本控制系统,免费而超好用的gitgitHub 是使用git进行版本控制的代码管理网站
SVN: 集中式的版本控制系统,而Git是分布式版本控制系统。
区别:集中式版本控制系统是,干活的时候用的都是自己的电脑所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆
集中式版本控制系统最大的毛病就是必须联网才能工作。
分布式版本控制系统根本没有‘中央服务器’,每个人的电脑上都是一个完整的版本库,这样就可以不用联网了,
但是如果你在自己电脑上修改了文件A,你的同事也修改了A,你们两个需要互相推送就可以看到对方的修改了。
分布式版本控制系统通常也有一台充当‘中央服务器’的电脑,这个服务器用来‘交换大家的修改’,交换修改更方便。
Git极其强大的分支管理