一、查看命令
git config --list显示当前git配置git status查看当前仓库状态git diff <file>查看修改内容git log查看历史记录git log --pretty=online查看版本
git reflog查看所有版本的序列git brach查看分支git remote查看远程仓库git remote -v查看远程仓库地址
二、本地仓库与远程仓库
git init将当前目录初始化为git版本库git add添加git add <路径>将指定文件的修改添加到暂存区git add .将所有文件的修改添加到暂存区,不包括删除git add -A .将所有文件的修改添加到暂存区
git commit -m "message"将暂存区的所有内容提交到当前分支
git remote add <远程库>关联远程库git remote -v查看远程库信息git push推送git push -u origin <分支名>第一次推送分支的所有内容git push origin <分支名/标签名>推送本地分支/标签到远程库
git clone将远程仓库克隆到本地仓库,支持多种协议ssh—安全,git—快,http/https协议—易架设,穿透好
git pull将远程仓库更新到本地仓库
三、版本修改
git checkout -- <file>撤销工作区的修改,实际是版本库里的版本替换工作区的版本(尚未执行add操作)git reset回退git reset HEAD <file>撤销暂存区的修改,回退到工作区(尚未执行commit操作)git reset --hard HEAD^回退到上一个版本git reset --hard <版本号>回退到指定版本
git rm <路径>删除版本库中的文件 (执行此命令后需执行commit 操作)
HEAD当前分支 当前版本的指针git log查看历史记录git log --pretty=oneline查看版本号git reflog查看版本的变更记录
四、分支管理
git branch <分支名>创建分支git checkout <分支名>切换分支git checkout -b <分支名>创建+切换分支git merge <分支名>合并分支到当前分支,fast forward合并git merge --no-ff -m "merge with no-ff" <分支名>普通模式合并git branch -d <分支名>删除分支git branch -D <分支名>删除一个未被合并的分支
git stash保留并隐藏工作现场git stash apply [stash号]恢复指定stash号的工作现场git stash drop删除stash内容git stash pop恢复工作现场,并删除stash内容
git branch查看分支git log --graph查看分支合并图git log --graph --pretty=oneline --abbrev-commitgit stash list查看stash内容
- 本地新建的分支如果不推送到远程,对其他人就是不可见的。
- 从本地推送分支,使用
git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交。- 在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致。- 建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name。- 从远程抓取分支,使用
git pull,如果有冲突,要先处理冲突。- rebase操作可以把本地未push的分叉提交历史整理成直线;
- rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
五、标签管理
git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit idgit tag -a <tagname> -m "message"指定标签信息git tag可以查看所有标签git push origin <tagname>可以推送一个本地标签git push origin --tags推送全部未推送过的本地标签git tag -d <tagname>删除一个本地标签git push origin :refs/tags/<tagname>可以删除一个远程标签
