zoukankan      html  css  js  c++  java
  • 使用 Git 命令去管理项目的版本控制(一)

    参考资料:参考  参考

    声明本文是作者原创,是自己的学习笔记,仅供学习参考。

    在 10.11.2Mac系统中,要显示隐藏的文件夹使用命令行:

    defaults write com.apple.finder AppleShowAllFiles -bool true

    killall Finder

    要隐藏本来是隐藏的文件夹使用命令行:

    defaults write com.apple.finder AppleShowAllFiles -bool false 

    killall Finder

    在一个没有勾选git的项目中,现在要引入git。

    打开Terminal窗口(如果你之前打开了一个,那就先关掉它再重启,从而使我们安装的命令行工具生效)。下面切换到新项目的目录:

    创建本地仓库
    1、初始化自己一个普通文件夹为本地仓库文件夹
    git init

    要初始化本地仓库的一些个人信息,也就是我们的用户名和email
    git config user.name name
    git config user.email qqnumber@qq.com

    2、查看当前本地仓库的状态
    git status
    如果有要提交的东西会显示为红色(意味着根本就没进入临时仓库中)
    3、要提交新的文件
    a、先add filename
    git status
    会发现文件变绿色(也就以为着,文件已经放到临时仓库中)
    b、在提交 commit
    连绿色文件都没了(意味着提交成功,也就是临时仓库中的文件提交到真正的仓库中去了)
    commit之后,会进入vim编辑器写一些修改信息的描述的
    如果不想进入vim编辑器写描述信息,可以在commit的时候直接加上描述信息
    git commit -m"你的描述信息"

    4、查看之前的提交版本信息
    git log
    想要看之前的版本信息更清楚一点,可以用下面的命令
    git reflog

    5、回到某一个版本
    commit 提交之后回版本的操作
    回到前一个版本
    git reset --hard HEAD^
    回到前面某个版本
    git reset --hard 版本号

    提交(commit)之前要想回到上一个版本
    一种:git reset --hard HEAD
    二种:git checkout main.m
    或者 git checkout HEAD main.m

    注意:HEAD 之后的 托字符 ^
    commit 之后的"回上一版本操作"要加上^
    commit 之前的"回上一版本操作"不加^

    6、查看所修改过的地方

    git diff

    红色的代表是自己删除过的
    绿色的代表是自己修改过的

    远程仓库
    1、初始化一个远程仓库
    git init --bare
    远程仓库仅仅是用来管理代码的,不是用来存放代码的

    2、经理从远程仓库clone一份过来
    git clone 远程仓库路径或网络地址
    3、创建一个.gitignore文件
    需要注意的一点,.gitignore文件 一定要和.git隐藏文件夹在同一目录下面
    echo -e "# Xcode
    #
    build/
    *.pbxuser
    *.mode1v3
    *.mode2v3
    *.perspectivev3
    xcuserdata
    *.xccheckout
    *.moved-aside
    DerivedData
    *.hmap
    *.ipa
    *.xcuserstate
    # CocoaPods
    #
    # We recommend against adding the Pods directory to your .gitignore. However
    # you should judge for yourself, the pros and cons are mentioned at:
    # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
    #
    # Pods/" > .gitignore

    4、add .gitignore 文件到临时仓库中
    git add .gitignore

    5、提交 .gitignore 文件
    git commit -m"suibian"

    6、把工程提交的公司服务器
    (push)

    7、员工应该首先从公司服务器把代码clone下来,员工才能修改代码
    /../../../zhangsan git clone 公司服务器的地址

    8、修改代码
    点击 Xcode菜单栏上的source control -> commit 进行提交
    commit 的时候 顺便再勾选一下左下角的 push to remote

    9、经理要查看员工修改的代码
    点击 Xcode菜单栏上的source control -> pull 进行更新

    10、如果有新人进入公司
    公司第一次给新人的是一个公司服务器仓库的副本
    所以就要求项目经理创建一下新人服务器的远程仓库
    a、创建一个远程仓库文件夹
    b、有项目经理操作:操作流程:Xcode -> source control -> 主仓库-master -> configure 主仓库 -> Remotes -> 左下角+ 添加一个新人服务器地址 -> 填完用户名和地址之后 done
    c、向新人服务器里面添加项目
    项目经理->Xcode->source control->push->新人服务器地址里面
    11、新人从项目经理那边拿到新人服务器的地址,开始clone,并开发。

    12、项目的分支 (了解)
    给项目打上标签
    git tag -a v1.0 -m"versioin1.0"
    查看项目标签
    git tag

    把v1.0这个标签推送的公司的服务器里面

    13、经理找来王五开始修改v1.0的bug
    王五应该拿到贴有1.0标签的这个版本的项目
    (在主分支里面直接拿v1.0)
    git checkout v1.0

    用一个新的小分支来修改1.0的bug
    (在新的小分支里面拿 v1.0 版本的项目)

     张三这个员工继续开发

    14、直到有一天王五把项目bug改好了,才能合并到张三的代码中
    王五要合并到主分支里面
    王五 打开工程:source control -> 1.0bugfix -> merge into branch(master分支)-> merge->enable

    最后注意,下面的命令里面也可以自定义一些过滤文件,不让其在每次更新的时候上传。

    在上传代码的时候,要注意过滤一些不必要上传(更新)的代码,过滤设置命令如下:

    echo -e "# Xcode
    #
    build/
    *.pbxuser
    *.mode1v3
    *.mode2v3
    *.perspectivev3
    xcuserdata
    *.xccheckout
    *.moved-aside
    DerivedData
    *.hmap
    *.ipa
    *.xcuserstate
    # CocoaPods
    #
    # We recommend against adding the Pods directory to your .gitignore. However
    # you should judge for yourself, the pros and cons are mentioned at:
    # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
    #
    # Pods/" > .gitignore
    View Code 命令行代码 

     下面分享一个使用终端命令去下载 gitHub上的代码的方法:

    (1)在桌面上建立一个文件夹 “下载文件夹”

    (2)打开终端,在终端中输入命令 cd ,并将 “下载文件夹” 拖入终端,生成路径,回车,输入 pwd 确定是该路径

    (3)输入 git clone 然后打开gitHub ,复制你要下载的源代码的 代码地址,注意是从页面中,名字右边的地方开始复制地址,不要复制浏览器地址栏,然后回车,OK开始下载

     关于下一篇:使用 Git 命令去管理项目的版本控制(二)  详细的写出了不同环境情况下的版本控制操作步骤

  • 相关阅读:
    Java 数组的浅拷贝和深拷贝
    Java 传递可变参数和方法重载
    Java 数组排序
    Java 一维数组作为参数和返回值
    Java 运算符及优先级
    MySQL 由 5.7 升级为 8.0 之后,Laravel 的配置改动
    Lavarel
    Laravel框架中Blade模板的用法
    php-fpm 配置文件检测
    Laravel Blade 模板 @section/endsection 与 @section/show, @yield 的区别
  • 原文地址:https://www.cnblogs.com/benpaobadaniu/p/5120510.html
Copyright © 2011-2022 走看看