Git 常用命令汇总

基本操作

拉取分支数据
默认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

            gitignore

        commit d496317fc6e0de1697bcebd1dcd0120eaac5b578

            del temp

        commit 2663f5a91403065f83091087286d9bd7c2368afb

            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 old_name 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 V0.0.1

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

删除本地标签
git tag -d V0.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. 提交代码注释写详细

gaodevops