在此把日常开发过程中经常使用的git命令进行一个总结,方便自己也方便他人进行一个查阅。
一、基本操作
1、拉取分支数据
(1)拉取默认master分支数据
git pull
(2)拉取指定分支数据
git pull origin master
2、添加(add)数据
(1)添加到暂存区
提交当前目录下的所有文件
git add .
提交当前仓库 所有文件
git add *
指定目录或文件
git add dirname test.php hello.txt
(2)提交到当前分支
git commit -m '注释' ###注释一定要加上
(3)提交(添加)到远程仓库
git push ###提交到默认master分支
git push origin dev ###提交到dev分支
3、撤销修改
(1)暂未添加到暂存区
git checkout . ##放弃所有修改
git checkout test.php ##放弃test.php文件修改
(2)已经添加到暂存区(已经进行了git add 操作)
git reset HEAD test.php
git checkout test.php
4、版本回退
(1)回退到上一个版本
git reset --hard HEAD^
(2)指定版本号(如果电脑有重启,使用 git reflog)
git log
commit 4aa614980a3db998f3f6299f7c22e82f4e248e27
Author: ** <**>
Date: Thu May 27 21:47:26 2018 +0800
gitignore
commit d496317fc6e0de1697bcebd1dcd0120eaac5b578
Author: ** <**>
Date: Thu May 27 21:45:32 2018 +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
四、保存修改到缓存区
场景:在develop分支开发了部分功能,但是还不想将修改同步到master,但又需要切换到master分支进行一个紧急bug修复上线。为了避免develop分支开发的丢失,可以将develop分支的修改暂存起来,等下次需要时再取出来即可。
提交修改的数据到缓存
git stash
查看缓存数据列表
git stash list
恢复数据并删除缓存数据
git stash pop
恢复数据不删除缓存数据
git stash apply
多次stash后可以使用序号恢复
git stash apply stash@{0}
删除缓存数据
git stash drop
git的功能远远不止上述的这些,后续再逐步完善!