源代码管理_Git终端命令行演练

一、 个人开发

1. 初始化一个本地仓库

  • 命令:git init
  • 作用:管理本地代码,修改上传,版本回退。

2. 配置仓库

  • 命令:git config user.name "lch"
    作用:告诉git你是谁,可以追踪修改记录
  • 命令:git config user.email "[email protected]"
    作用:告诉git怎么联系你,多人合作开发时,沟通交流
  • 命令:git config -l
    作用:查看配置信息,也可以通过打开.git -> config查看

3. 操作演练

  1. 新建文件并提交
    touch main.c //创建文件
    git add . //添加文件到暂缓区
    git commit -m "注释" //提交到本地仓库并注释
  1. 修改文件并提交
    git add . //添加修改文件到暂缓区
    git commit -m "注释" //提交到本地仓库并添加注释
  2. 删除文件并提交
    git rm main.c //删除指定文件,main.c为文件名
    git commit -m "注释" //提交到本地仓库并注释
  3. 日志查看
    git log //查看日志
    源代码管理_Git终端命令行演练_第1张图片
    git log.png

    git reflog //查看七位版本号
    源代码管理_Git终端命令行演练_第2张图片
    git reflog.png
  4. 版本回退
    git reset -hard HEAD //重置到当前版本
    git reset -hard HEAD^^ //重置到上上个版本
    git reset --hard HEAD2 //重置到往上两个版本
    git reset -hard 七位版本号 //重置到指定版本

4. 其他相关知识

  1. 文件状态(git status)
  • 版本号的含义:版本号是一个有SHA1生成的40位哈希值,这样做的目的是保证版本号的唯一;
  • 颜色含义:
    • 红色:代表被添加或者司改的文件没有被添加到暂缓区;
    • 绿色:代表文件在暂缓区,等待提交;


      源代码管理_Git终端命令行演练_第3张图片
      git status.png
  1. vim编辑器的使用
  • 命令模式:等待编辑命令输入;所有输入的内容都被当做命令来使用;
  • 插入模式:输入的所有内容都被显示,并被当做文件内容处理;按Esc键可以退出插入模式进入命令行模式
  • 命令行模式:执行待定命令(保存文件并退出vim:wq;强制退出q!
  1. 日志查看配置
  • git config alias.st "status"
  • git config alias.ci "commit -m"
  1. --global的作用
  • 可以进行全局配置,所有版本库共享此配置,个人电脑上建议使用全局配置

二、团队开发

注:团队开发必须有一个共享库,这样成员之间才可以进行写作开发。

0. 共享库的分类

  • 本地共享库(只能在本地面对面的操作)
  • 电脑文件夹/U盘/移动硬盘;
  • 远程共享库(可以通过网络远程操作)
    • 自己搭建Git服务器;
    • 在GitHub上托管项目(公开项目免费,私有项目收费);
    • 在OSChina上托管项目(安全免费,服务器在国内,访问速度快)

1. 演示多人开发

  1. 搭建本地共享库:git init --bare //搭建本地共享库
  1. 创建dvOne、dvTwo文件夹(用来代表两个不同的开发者本地仓库);
  2. 分别进入到两个文件夹从共享库clone项目到本地:git clone 共享仓库地址
  3. 新增文件的同步:
  • touch person.h //创建文件person.h
  • git add . //添加到暂缓区
  • git commit -m "创建person.h" //提交到本地仓库
  • git push //提交到本地共享库
  • git pull //开发者二从共享库同步文件
  1. 修改文件的同步:
  • git add . //添加到暂缓区
  • git commit -m "注释" //提交到本地仓库
  • git push //提交到共享库
  • git pull //开发者二从共享库同步文件
  1. 删除文件的同步
  • git rm 文件名 //删除指定文件
  • git commit -m "注释" //注:因为通过命令行删除的文件会自动添加到暂缓区,所以可以省略git add .这一步。
  • git push //提交到共享库
  • git pull //开发者二从共享库同步文件
  1. 冲突的解决方法
  • git pull //重新同步,然后打开冲突的文件,删除垃圾代码。
  1. 手动添加忽略文件
  • touch .gitignore //创建忽略文件
  • open .gitignore //打开忽略文件进行编辑
  • git add . //添加到暂缓区
  • git commit -m "" //提交到本地仓库
    附:.gitignore文件的配置规则
  • 备注:
  1. 在真实开发中,配置.gitignore文件一般都是去github上搜索gitignore
  2. 报错:fetch first //代表当前文件已过期,需要从共享库更新,此时应该执行git pull操作

三、Git版本备份/分支管理

注:在git中不是通过拷贝代码来解决和备份和开启分支的,而是通过打标签控制HEAD指向,来回到任一版本

  • 当开发完成一个版本时可以同过以下命令备份版本:

    • git tag -a v1.0 -m "标记1.0版本" //给版本1.0打标签
    • git push origin v1.0 //提交到共享库
  • 当发现之前的版本存在bug,需要获取版本来进行修复时:

    1. git checkout v1.0 -b v1.0fixbug //根据版本v1.0建立新分支v1.0fixbug并切换到此分支
    • git add . //修复之后提交到本地仓库,注意此处提交到的是HEAD所直向的分支-v1.0fixbug
    • git commit -m "修复bug"
    • git tag -a v1.1 -m "1.1版本备份" //打标签上传到共享库
    • git push origin v1.1
    • git push origin v1.0fixbug //最后将整个分支上传到共享库
  • 修复完成后,要把修复的版本合并到当前版本时:

    1. 从共享库更新代码到本地库
    • git pull
    1. 查看当前服务器存在哪些分支
    • git barnch -r
    1. 切换到master分支后,将v1.0fixbug分支合并过来
    • git checkout master //切换到master分支后,合并修复的分支
    • git merge origin/v1.0fixbug -m "合并分支"
    • 合并完成后提交到共享库
      • git add .
      • git commit -m "合并分支"
      • git push
    1. 合并完成后可以删除共享库的分支
    • git branch -r -d origin/v1.0fixbug
    1. 查看当前版本标签
    • git tag

你可能感兴趣的:(源代码管理_Git终端命令行演练)