龚哥哥 - 山里男儿 爱生活、做自己!
Git使用教程
发表于 2015-9-17 | 服务器

分支管理架构图

Image

基本操作

拉取分支数据
    默认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;提交代码注释写详细

发表评论:

TOP