svn、git、GitHub等版本管理

版本管理使用笔记

版本管理器使用笔记,本文章涉及SVN、git、GitHub等的基本使用。

SVN

SVN服务的安装(管理员):

  1. 安装: 下载并安装VisualSVN服务器;
  2. 用户注册及目录创建: 打开managar管理工具,注册用户(user)并分配权限、创建项目目录文件夹(Repository)。

普通用户使用SVN

  1. 安装: 下载并安装tortoiseSVN;
  2. 登录:
    2.1 网页版: 根据SVN管理员提供的用户账号和密码以及地址,可登录网页版;
    2.2 本地登录: 选择本地硬盘(或文件目录),右键选择checkout,输入地址,选择下载目录(directory),点击OK;输入用户名和密码,‘OK’即可下载。
  3. 更新及上传文件: 右键选择‘commit’,弹出提交对话框,对话框中的第一个输入框“Recent messages”中可输入你的自己的提交日志,然后选择要提交的文件,点击OK即可;
    注意: 如果本地版本比服务器版本低,则不允许提交,会提示先更新;如果两个人改的是同一个位置,而且内容不同,则同样会提示上传失败发生冲突,可双击打开冲突信息,右键选择使用哪个版本(use this txt)或者都保存(use……before……)
  4. 更新下载文件: 右键选择update即可;
  5. 查看文件更新历史记录: 右键选择tortoisesvn,再选择show log,可查看版本更新记录;上面部分显示更新历史记录,下面部分显示历史文件,可双击打开查看历史文件。
  6. 添加文件锁: 右键tortoisesvn,选择get lock,锁定该文件,使其他人无法修改;提交后自动解锁;也可手动释放锁,release lock。
  7. 版本回退: 右键tortoisesvn,选择show log,选择要回滚得版本,右击选择“Revert to this revision”。

git

  1. 安装: 下载git安装包,本地安装(安装教程可自行百度即可,基本默认安装即可);安装结束后,本地cmd窗口或者直接右键选择git bash here,在弹出窗口中输入git --version,输出版本号即可表示安装成功;
  2. 工作区: git的三个基本工作区:工作区(默认状态)暂存区(中转站)本地仓库(历史记录存放地)
  3. 常用命令:
    3.1 git全局配置:
    配置用户名:git config --global user.name “用户名”
    配置用户邮箱:git config --global user.email “用户邮箱”
    3.2 初始化版本仓库: git init
    3.3 查看文件状态:git status
    3.3 将文件添加到暂存区:
    git add 文件名
    git add 文件目录/ //增加目录及其子目录到暂存区
    git add --all或者git add . //将当前目录下所有文件提交到暂存区
    3.4 删除文件提交到暂存区: git rm 文件名 //要使用该命令,至少文件被跟踪过提交过一次
    3.5 停止跟踪指定文件,但保留在工作区(下次提交不会包含此文件): git rm --cached 文件名
    3.6 将暂存区的文件一次性提交到本地仓库:
    git commit -m ‘第一次提交’ //提交前需要配置用户名和邮箱
    3.7 将管理跟踪过的修改过的文件直接提交到仓库(注意只提交曾经被提交或者跟踪过的文件,其他文件不会提交): git commit -a -m ‘日志信息’
    3.8 修改上一次提交的“提交日志信息”(文件没有变化,只是想覆盖并修改上次提交的日志信息): git commit --amend -m “更改后的日志信息”
    3.9 查看提交日志: git log
    3.10 查看提交日志图形文件: gitk
    3.11 恢复暂存区的文件到工作区,即刚修改的文件已提交到暂存区,需要撤回: git checkout 文件名git checkout . //所有文件
    3.12 恢复某个commit的文件到暂存区和工作区,即将暂存/工作区中的内容恢复到之前已commit的某个版本: git checkout 要回滚得commit版本号(可通过git log 获取信息,前五位即可) 文件名
    3.13 重置暂存区的指定文件,与上一次commit保持一致,工作区内容不变: git reset 文件名
    3.14 重置暂存区与工作区,与上一次commit保持一致: git reset --hard
    3.15 创建目录[并进入目录]: mkdir 目录名称[ && cd 目录名称]
    3.16 查看目录: ls [-a] //-a表示隐藏目录也显示
    3.17 删除目录: rmdir 空目录名称 //只能删除空目录
    3.18 删除文件: rm 文件名称
    3.19 删除非空目录: m -rf 目录名/
    3.20 创建文件: touch 文件名字
    3.21 查看文件内容: cat 文件名字
    3.22 查看大文本文件: less 文件名字 //会分页查看内容,按 q 退出,空格翻一页,b 上翻
    3.23 编辑文件: vi 文件名字
    注意: 默认是命令模式,无法编辑;移动光标到要修改的位置,输入 i,即可进入编辑模式;
    保存并退出文件时,单击esc键,输入":wq";
    如果没做任何操作,可输入“:q”即可退出

GitHub

与git密切相关,很多命令重复,不再编写

  1. 注册GitHub并创建仓库,建议默认不要选择initialize,本地项目一般会创建自己的README.md文件(如已有git项目,此步骤跳过)
  2. 记录仓库链接https url地址或ssh地址(该地址需要先配置ssh秘钥)
  3. 下载远程仓库项目: git clone 远程仓库地址 [本地名称,可省略] 【–depth 1(表示只下载最新版本,其他提交记录不会下载)】。例如:git clone ssh地址
  4. 本地项目提交到远程仓库:git push //提交之前,本地文件首先要git add .git commit -m "描述信息"
    注意: 从GitHub上clone下来的文件会自动初始化init,且记录了地址和地址别名,当git push时会自动提交到GitHub地址;
    如果是本地git init的文件,提交git push时git不会知道你需要提交到什么地方,会报错,此时你需要以下操作:
    1. git remote add origin(自定义别名) 远程GitHub项目仓库ssh地址
    2. git push -u origin master //将本地仓库与远程仓库关联
  5. 多人协作: 需要在新建的仓库setting中设置并邀请其他人员,否则,其他GitHub账户无权限其提交或修改该仓库内容和信息。
    如果其他人没有被邀请,但需要提交信息,可向该仓库作者发起请求,具体使用步骤:
    首先从原仓库中fork一份仓库到自己账户中(点击fork按钮),修改内容之后,点击 new pull request->create pull request->填写描述信息->create pull request;
    原仓库作者在仓库的“pull request”选项卡卡中可查看已提交的请求,同意则点击merge pull request
  6. 分支:
    6.1 查看当前本地所有分支以及当前所处的分支(绿色): git branch //需要先add commit一次,然后才能看到分支信息
    6.2 创建本地分支: git branch 分支名称 [master或其他分支名称]
    注: 最后一个参数表示在哪个master或分支下创建分支,如果是在当期分支下创建其分支可省略;创建完分支之后,仍旧停留在当前分支或master中,不会进入新创建的分支
    6.3 创建本地分支并切换到新分支: git checkout -b 分支名称
    6.4 切换分支: git checkout 分支名称
    6.5 合并本地分支:
    首先切换到要合并到的分支或者主分支master,然后执行命令git merge 分支名称
    6.6 删除分支: git branch -d 要删除的分支名称 //注意要在别的分支或主分支master中执行
    6.7 在远程仓库中建立分支:
    以上操作均是在本地进行的操作,远程仓库中仍旧是之前的版本内容,需要使用git push命令将合并后的内容提交到远程仓库进行更新。
    由于上述所有修改内容均已提交到本地的主分支master中,所以可以直接使用gti push命令提交到远程仓库的主分支中。实际开发项目时,普通用户可能没有直接提交到主仓库master的权限,仅需要提交到自己的远程仓库分支中,远程仓库主分支master管理员再统一进行分支合并merge操作,所以需要建立自己的远程仓库分支并提交,具体操作步骤如下所示:
    6.7.1 在远程仓库中建立分支并提交到远程仓库分支:
    1. 首先在本地仓库建立分支:git chekout -b 本地分支名称
    2. 在远程仓库中建立自己的分支:git push -u origin 远程分支名称 //远程分支名称要与本地分支名称保持一致,更容易代码的提交;其中origin是远程仓库地址,即第4条中建立本地仓库与远程仓库建立链接时使用的名称别名
    3. 在本地分支工作区中进行代码的修改,然后进行提交操作,与上述本地分支操作一致:
      3.1 提交到暂存区:git add .;
      3.2 提交到本地仓库:git commit -u “提交日志信息”;
      3.3 在当前分支中直接提交到远程分支中:git push;
      3.4 远程仓库主分支管理员进行分支合并操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值