1.本地仓库管理基本流程
-
进入需管理的文件夹,右键打开git bash
-
初始化:会在目录下创建一个git仓,会产生一个.git的隐藏目录
git init
-
查看工作区的文件状态:新增或修改的文件为红色
git status
-
工作区文件提交到本地暂存区:红色变为绿色
git add filename //提交指定文件 git add . //提交所有文件
-
个人信息配置:第一次使用时需要配置
git config --global user.email "邮箱" git config --global user.name "用户名"
-
提交到本地仓库,生成版本
git commit -m "描述信息"
-
查看信息
git log //查看版本历史信息,英文状态下按Q键退出 git log --graph --pretty=format:"%h %s" //历史记录的图形展示 git diff filename //查看在本地对某文件修改了那些 git show commit_id //该提交版本的详细更改信息 cat filename //查看文件内容
2.工作区、暂存区、版本库间切换
-
从版本库退回暂存区:变成绿色状态
git log git reset --soft 上次提交的版本号
-
从版本库退回工作区:变成红色状态
git log git reset --mix 上次提交的版本号
-
从暂存区退回至工作区:绿变红,文件还是已修改状态
git reset head filename
-
使已修改的文件变成修改之前的状态
git checkout -- filename
-
回滚到之前的版本
git log git reset --hard 之前的版本号
-
回滚到之后的版本
git reflog //获取之后的版本号 git reset --hard 之后的版本号
3.分支管理
-
查看分支
git branch
-
创建分支,还处在当前分支
git branch 创建的分支名
-
切换分支,切换到指定分支
git checkout 指定的分支名
-
合并分支,合并指定分支到当前分支
设想,develop分支在开发过程中遇master分支又创建bug分支解决bug等情况,bug分支合并到master分支后又合并develop分支到master分支时可能产生冲突,此时就要手动解决
git merge 指定的分支名
-
删除分支
git branch -d 删除的分支名
4.远程仓库
-
显示所有远程仓库
git remote -v
-
给远程仓库另起名字
git remote add 自定义名字 远程仓库地址
-
向远程仓库推送本地指定分支
git push 远程仓库地址名 分支名
-
克隆远程仓库到本地
git clone 远程仓库地址
-
拉取远程仓库更新的内容到本地工作区 [pull = fetch(拉到版本库) + merge(从版本库到工作区)]
git pull 远程仓库地址名 分支名 相当于: git fetch 远程仓库地址名 分支名 git merge 远程仓库地址名/分支名