git操作

Git原理


git原理

Git常用命令

$ git init: 在当前目录新建一个Git代码库
$ git clone: 下载一个项目和它的整个代码历史
$ git config: 设置文件
$ git add: 将工作区内容添加到暂存区(`git add .`表示将工作区所有内容添加到暂存区)
$ git rm: 删除工作区文件,并且将这次删除放入暂存区

$ git commit -m:  提交暂存区到仓库区
$ git commit [...] -m: 提交暂存区的指定文件夹到仓库区
$ git commit -a : 提交工作区自上次commit之后的变化,直到仓库区
$ git commit –v: 提交时显示所有diff信息

$ git branch: 列出所有本地分支
$ git branch –r: 列出所有远程分支
$ git branch –a: 列出所有本地分支和远程分支
$ git branch [branch-name]: 新建一个分支,但依然停留在当前分支
$ git checkout –b [branch]: 新建一个分支,并切换到该分支
$ git branch [branch] [commit]: 新建一个分支,指向指定commit
$ git branch –track [branch] [remote-branch]: 新建一个分支,与指定的远程分支建立追踪关系
$ git checkout [branch-name]: 切换到指定分支,并更新工作区
$ git checkout -: 切换到上一个分支
$ git merge [branch]: 合并指定分支到当前分支
$ git cherry –pick [commit]: 选择一个commit,合并当前分支
$ git branch –d [branch-name]: 删除分支
$ git push origin –delete [branch-name]: 删除远程分支

$ git status:显示有变更的文件(可以查看有冲突的文件)
$ git log: 显示当前分支的版本历史
$ git log --stat: 显示commit历史,以及每次commit发生变更的文件
$ git log –S [keyword] : 搜索提交的历史 根据关键字
$ git log [tag] HEAD –grep feature: 显示某个commit之后的所有变动
$ git log –follow [file]: 显示某个文件的版本历史,包括文件改名
$ git log –p [file]: 显示指定文件相关的每一次diff
$ git shortlog -sn: 显示所有提交过的用户,按提交顺序排序
$ git diff: 显示暂存区和工作区的差异
$ git diff –cached [file]: 显示暂存区和上一个commit的差异
$ git show [commit]: 显示某次提交的元数据和内容变化

$ git fetch [remote]: 下载远程仓库的所有变动
$ git remote –v: 显示所有远程仓库
$ git remote show [remote]: 显示某个远程仓库的信息
$ git remote add [shortname] [url]: 增加一个新的远程仓库
$ git pull [remote] [branch]: 取回远程仓库的变化,并与本地分支合并
$ git push [remote] [branch]: 上传本地指定分支到远程仓库
$ git push [remote] –f/force: 强行推送当前分支到远程仓库
$ git push [remote] –all: 推送所有分支到远程仓库

$ git checkout [file]: 恢复暂存区的指定文件到工作区
$ git checkout: 恢复暂存区的所有文件到工作区
$ git reset [file]: 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset --hard HEAD: 重置暂存区与工作区,与上一次commit保持一致

你可能感兴趣的:(git操作)