微信号:phpdaily

介绍:PHP在线专注于PHP编程语言学习,PHP开发经验分享,工作问题解决以及PHP在线技能测评等多功能为一体的服务系统,希望给工作学习中的PHPER带来些帮助。

Git使用教程

2018-05-07 22:25 PHP在线

微信公众号:phpdaily
如有问题或建议,请公众号留言

分支管理架构图

基本操作

拉取分支数据
   默认master分支
       git pull

   指定分支
       git pull origin master

提交数据
   添加到暂停区
       提交当前目录下的所有文件
           git add .

       提交当前仓库所有文件
           git add *

       指定目录或文件
           git add dirname test.php hello.txt

   添加到当前分支
       git commit -m '注释'

   提交到远程仓库
       git push

撤销修改
   git checkout .   # 放弃所有修改
   git checkout test.php   # 放弃test.php文件修改
   git clean -fd   # 放弃新创建的目录或文件

   如果已经添加到暂停区了怎么撤销?两步完成(git add test.php)
       git reset HEAD test.php
       git checkout test.php

版本回退
   回退到上一个版本
       git reset --hard HEAD^

   指定版本号(如果电脑有重启,使用 git reflog)
       git log
           commit 4aa614980a3db998f3f6299f7c22e82f4e248e27
           Author: 龚福祥 <gongfuxiang@gongfuxiangdeMacBook.local>
           Date:   Thu Aug 27 21:47:26 2015 +0800

               gitignore

           commit d496317fc6e0de1697bcebd1dcd0120eaac5b578
           Author: 龚福祥 <gongfuxiang@gongfuxiangdeMacBook.local>
           Date:   Thu Aug 27 21:45:32 2015 +0800

               del temp

           commit 2663f5a91403065f83091087286d9bd7c2368afb
           Author: 龚福祥 <gongfuxiang@gongfuxiangdeMacBook.local>
           Date:   Thu Aug 27 21:31:48 2015 +0800

               dev update

       比如我们回退到 d496317fc6e0de1697bcebd1dcd0120eaac5b578 版本号不用写全,git会自动取找,前几位就行
           git reset --hard d496317fc
               HEAD is now at d496317fc dev update

回退成功后提交到远程仓库
       git push origin master

文件夹/文件管理

文件删除
   git rm test.php

删除文件夹以及文件夹下面的文件
   git rm -r dirname

文件命名
   git mv test.php new_file_name.php

提交到本地仓库
   git commit -m '文件命名'

提交到远程仓库
   git push

分支管理

创建分支
   git branch develop

切换分支
   git checkout develop
       当前分支前面标记一个*号
       * develop
             master

创建分支并且切换到新创建的分支
   git checkout -b develop

fetch只会拉取远程分支最新版本,不做merge操作
 git fetch origin test
 git checkout test

查看本地分支
   git branch

查看远程分支
   git branch -a

重命名本地分支名称
   git branch -m develop new_name

推送本地分支到远程
   git push origin develop

删除本地分支
   git branch -d develop

删除远程分支
   git push origin --delete develop
   git push origin :develop   [git v1.7.0之前]

合并某分支到当前分支
   git merge develop

标签管理

创建标签
   git tag v_0.0.1

创建历史版本标签
   查看历史提交的commit id
       git log --pretty=oneline --abbrev-commit
           97ccfa5 test
           4aa6149 gitignore
           d496317 del temp
           2663f5a dev update

   比如要对2663f5a打标签
       git tag v_0.0.1 2663f5a

查看所有标签
   git tag

提交一个标签到远程
   git push origin v_0.0.1

提交所有未提交到远程的标签
   git push origin --tags

删除本地标签
   git tag -d v_0.0.1

删除远程标签
   git push origin --delete tag v_0.0.1
   git push origin :refs/tags/v_0.0.1   [git v1.7.0之前]

获取远程标签
   git fetch origin tag v_0.0.1

暂时提交到缓存

提交修改的数据到缓存
   git stash

查看缓存数据列表
   git stash list

恢复数据并删除缓存数据
   git stash pop

恢复数据不删除缓存数据
   git stash apply

多次stash后可以使用序号恢复
   git stash apply stash@{0}

删除缓存数据
   git stash drop

git使用规范

1;开发不同功能需创建不同分支,如果涉及到多人开发,需提交到远程仓库一起在新的分支中开发。

2;合并分支前打tag标签,版本号明确。

3;提交代码注释写详细


 
PHP在线 更多文章 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI? Cookie与Session问答 Memcached使用介绍 如何学好数据结构和算法 高性能网站架构方案
猜您喜欢 Lightning JSON in Rails 为什么你的产品信息,在用户眼里一直都是垃圾? PYTHON数据挖掘:kaggle案例额 + spark应用实例 从 Google 工程师到创业 CTO,我想和你分享的八件事 淘宝技术部喊你来推荐,赢“享爱”大礼包!~