版本库( 英文名repository),可以简单理解成目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
1.创建版本库
创建新目录,并将当前目录设置成Git仓库
git init
发现,当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的。
2.基本操作
语法 | 说明 |
---|---|
git add file | 把文件添加到缓存区 |
git commit -m ‘remark’ | 缓存区文件提交到本地仓库 |
git status | 查看文件状态 |
git log | 查看提交日志(最近提交的在上面) |
git reflog | 查看操作命令记录 |
git diff | 工作区(work)和暂存区(stage)的比较 |
git diff --cached | 暂存区(stage)和分支(master)的比较 |
git diff HEAD – file | 工作区中的文件与版本库中文件的比较 |
git reset --hard HEAD~n | 回退n个版本 |
git reset --hard versionId | 回退到指定版本id |
git checkout - - file | 撤销修改,尚未add到暂存区 |
git reset HEAD file | 撤销修改,尚未有commit |
git branch | 查看分支 |
git branch name | 创建分支 |
git checkout name | 切换分支 |
git checkout -b name | 创建并切换到该分支 |
git merge name | 合并某分支到当前分支 |
git branch -d name | 删除分支,分支已提交,主分支已合并 |
git branch -D name | 强行删除,分支已提交,主分支未合并 |
git push origin --delete name | 删除远程分支 |
git stash | 保存分支当前的更改 |
git stash list | 查看保存的列表 |
git stash apply | 恢复保存的文件 如果存在多个,可以指定恢复的stash |
git stash drop | 删除保存的stash内容 |
git stash pop | 恢复的同时删除stash内容 |
3).其他
git remote -v # 查看远程库信息
git checkout -b branch origin/branch # 在本地创建和远程分支对应的分支(本地和远程分支的名称最好一致)
git branch --set-upstream-to origin/branch branch # 建立本地分支和远程分支的关联(提示no tracking information)
git rebase # 变基操作可以把本地未push的分叉提交历史整理成直线;
4).应用场景
① 远程创建新的仓库
远程创建新的仓库,克隆更新到本地
② 远程存在新的仓库
远程已有新的仓库,更新代码文件到本地
1. git init #本地创建文件夹,并初始化
2. git remote add origin git@github.com:xx/epay.git # 本地仓库与远程仓库master建立连接
3. git fetch origin dev # dev为远程仓库的分支名
4. git checkout -b dev origin/dev #在本地创建分支dev并切换到该分支,并与远程的dev分支关联起来
5. git pull origin dev #把某个分支上的内容都拉取到本地
③ 本地新建分支
本地创建新的分支,并推送到远程对应的新分支
1. git checkout -b localBranch # 创建本地新分支
2. git push origin localBranch:remoteBranch # 远程分支不存在则会创建
操作2也可用下面命令:
3. git push --set-upstream origin remoteBranch