1. Git基本配置
git config可以配置git的参数,可以使用git config --list查看已经配置的git参数。其中有三个级别的保存位置,--system、--global、--local,分别表示所有用户(本系统)、当前用户(全局)、本地配置(当前目录),默认使用--local。
配置用户名和邮箱:
git config --global user.name "gaoky"
git config --global user.email "xxx@163.com"
创建本地git仓库
git init //把当前目录交给git管理,创建git仓库
克隆git仓库
git clone https://git.oschina.net/Tocy/SampleCode.git
提交更新操作
Git文件状态:committed或Unmodify(文件已入库 - 未修改)、staged(暂存)、modified(已修改),Untracked(未被git管理)
查看文件状态
git status
把未管理文件加入到暂存区,把修改文件加入暂存区(只有暂存区的文件会被提交)
git add xxx.class //如果文件rm之后没有修改直接add,会直接commit。
git add -A 暂存所有变化
git add -u 暂存被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 暂存新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
从git仓库和本地中移除文件(本地文件变为unmodified)
git rm xxx.class //删除版本库中的索引
--cached //删除文件在版本库和暂存区索引,不删本地
检出某个文件覆盖本地(本地和仓库一致 - unmodified状态)
git checkout xxx.class
文件的修改从暂存区移除(文件delete操作提交到暂存区无法checkout对应文件)
git reset HEAD xxx.class
提交文件
git commit -m "测试提交" //提交暂存区的变更
git commit -a -m "测试提交" //提交当前目录所有修改(不包括untracked)
git push origin 分支名 //提交内容推送到远端
拉取远端分支(Pull默认会支持Fetch和merge的操作,Fetch拉取远程分支在本地创建分支,clone为远程repo的活动分支创建一个本地分支以及远程跟踪分支)
git fetch origin 远程分支名:本地分支名 //把远程分支拉取一份到本地
git clone url //拉取新项目
git pull origin 分支名 //拉取并合并,可以做更新
分支操作
git fetch //取回所有分支的更新
git branch //列出远程分支(-r),所有分支(-a)
git branch name //创建一个本地分支
git checkout (branchname) //分支切换
git push origin branchName //把分支同步到服务器
git push origin –delete 分支名 //删除服务器远端的分支
git branch –d 分支名 //删除本地分支(检查是否和上游分支合并)
git branch –D 分支名 //删除本地分支(不检查,直接删除)
git merge branchName //把branchName分支合并到当前分支
储藏操作
git stash save "备注信息" //将修改存储到暂存区,工作区会删除这些修改
git stash show //显示暂存区保存的版本信息
git stash list //按保存时间倒序列出储藏栈
git stash pop //弹出最新暂存区修改到工作区
git stash apply “stash名字”(如stash@{1})指定恢复哪个stash到当前的工作目录。
git stash drop “stash名字” //删除指定暂存区修改
git stash clear //清空所有暂存区修改
查看仓库url
git remote show origin
标签
git tag 标签名 commit-log的sha1值 //给某个提交打标签(不加shaq值为默认最新的一次提交)
-m 标签备注 //给标签添加备注信息
-d //删除标签(git tag -d 标签名)
git checkout 标签名 //切换到当前标签
git show 标签名 //查看标签
版本回滚
git reset 提交的sha1值 //回滚到某个提交