版本控制python
版本控制工具git
思想:版本控制github
实现:版本控制工具安全
集中式版本控制工具:CVS、SVN、VSS······
服务器
分布式版本控制工具:Git、Mercurial、Bazaar、Darcs······
框架
官网:https://git-scm.com/ssh
代码托管中心的任务:维护远程库分布式
git init
命令:git init
工具
效果:测试
git config
项目级别/仓库级别:仅在当前本地库范围内有效
git config
user.name xxxxgit config
user.email xxxx系统用户级别:登陆当前操做系统的用户
git config --global
user.name xxxxgit config --global
user.email xxxx级别优先级:
git status
查看工做区、暂存区状态
git add [file name]
将工做区的"新建/修改"添加到到暂存区
git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
git reflog
git log
显示每一个版本的所有信息
git log --pretty=oneline
每条记录在一行显示
git log --oneline
每条记录在一行显示同时hash值只显示一部分(只显示当前版本以前的版本)
git reflog
HEAD@{n} 移动到当前版本须要移动n步
git reset --hard
git reset --hard [局部索引值(hash值)]
git reset --hard HEAD^
git reset --hard HEAD~n
git diff [文件名]
git diff [文件名]
history
建立分支
git branch [分支名]
查看分支
git branch -v
切换分支
git checkout [分支名]
合并分支
git checkout [分支名]
git merge [要被合并的分支名]
解决冲突
冲突的表现
冲突的解决
git add [文件名]
git commit -m "日志信息"
GitHub: https://github.com/
在Git命令行中输入:
ssh-keygen -t rsa -C "码云帐号"
在C:\Users\用户\下会生成一个.ssh的文件夹,.ssh内id_rsa
是私钥,id_rsa.pub
是公钥
登陆码云,我的主页/我的设置/安全设置/SSH公钥
本地测试链接远程库是否成功
ssh-T git@github.com
ssh-T git@git.com
为何?
远程库的连接很长,使用不方便
每次都要登陆去复制
命令:
git remote add origin [远程库url]
查看远程库:
git remote -v
删除已有的远程库
git remote rm origin
命令:
git push origin master
注1:origin是要推送的远程库
注2:master推送的分支
命令:
git clone [远程库地址]
效果:
完整的把远程库下载到本地
建立origin远程库地址别名
初始化本地库
git fetch [远程库别名] [远程分支名]
git merge [远程库别名] [远程分支名]
git pull [远程库别名] [远程分支名]
若是不是基于GitHub远程库的最新版所作的修改,不能推送,必须先拉取。
远程库为非空仓库时,默认时一个新项目,和本地库时两个不一样的项目,不能直接推送
解决:
先从远程库克隆岛本地,再修改。
拉取远程库代码,再合并为一个库
关联远程库
git remote add origin [远程库url]
拉取远程库代码到本地,并自动合并到本地库
git pull origin master --allow-unrelated-histories
推送
git push -u origin master
强制推送到远程库(不推荐,容易覆盖远程库原先的内容)
git push -f origin master
协同开发流程:
项目经理上传初始化的框架到远程仓库
github/gitee 远程库添加SSH账号
ssh-keygen -t rsa -C '远程库帐号'
本地项目初始化框架上传到服务器
服务器新建空项目
修改维护本地项目框架
和远程服务器创建链接
提交到远程服务器
Fork项目到本身git库
本地克隆/下载项目 维护修改
工做完成后,发从合并请求给项目经理
项目经理审核,是否合并并代码!