首页 > 代码库 > git的常用命令集合
git的常用命令集合
git的底层是数据库,所有数据是以文件方式存储在隐藏的.git目录中(强烈推荐廖雪峰git教程)
工作区(working directory)就是电脑上能看到的目录;
版本库(repository)就是工作区的隐藏目录.git。
暂存区(stage)是git add和git commit之间的部分,git add提交的文件全部储存在stage里。
git管理的是修改,不是文件!
master:默认开发分支 Head:默认开发分支
origin:默认远程版本库 Head^:Head的父提交
git一般工作提交流程:
git branch:确定当前分支没问题
git status:查看文件修改状态(必要时git diff -- “file”查看具体文件修改内容)
git pull:拉取远程代码,注意是否有冲突(拉取不成功时,git stash缓存代码后在拉,git stash pop出缓存代码)
git add <file>:最好单个添加修改文件,防止多余文件添加进去
git commit -m “这里写描述”:把暂存区的所有内容提交到当前分支<一次性提交>
git push:
git绝对会用到的各种撤销操作:
git branch -a :查看远程分支
git merge <branch>:合并分支到当前分支
git branch -D ‘’:强制删除分支,不能删除当前checkout的分支
git push origin :‘’:删除远程分支
git reset HEAD <file>:撤销git add已暂存的文件
git checkout -- <file>:撤销对文件的修改
git reset --hard commit_id:撤销commit日志,git log查看commit日志
git commit --amend:修改最后一次提交
git reset --hard HEAD^:撤销上次提交的所有改动(--hard表示放弃所有本地改动,HEAD最近一个提交,HEAD^上一次提交)
注意:不要为了图方便随意用git stash缓存,分支切来切去容易丢失修改记录,泪的教训...
创建版本库:
git clone <url>:克隆远程版本库(先创建远程仓库,在git clone到本地库)
git init:初始化本地版本库
修改和提交:
git status:查看状态
git diff:查看变更内容
git add .:跟踪所有改动过的文件
git add <file>:跟踪指定的文件
git mv <old> <new>:文件改名
git rm <file>:删除文件
git rm --cached <file>:停止跟踪文件但不删除
git commit -m “commit message”:提交所有更新过的文件
git commit --amend:修改最后一次提交
查看提交历史:
git log:查看提交历史
git log -p <file>:查看指定文件的提交历史
git blame <file>:以列表方式查看指定文件的提交历史
撤销:
git reset --hard HEAD:撤销工作区中所有未提交文件的修改内容
git checkout HEAD <file>:撤销指定的未提交文件的修改内容
git revert <commit>:撤销指定的提交
分支与标签:
git branch:显示所有本地分支
git checkout <branch/tag>:切换到指定分支或标签
git branch <new-branch>:创建新分支
git branch -d <branch>:删除本地分支
git tag:列出所有本地标签
git tag <tagname>:基于最新提交创建标签
git tag -d <tagname>:删除标签
合并与衍合:
git merge <branch>:合并指定分支到当前分支
git rebase <branch>:衍合指定分支到当前分支
远程操作:
git remote -v:查看远程版本库信息
git remote show <remote>:查看指定远程版本库信息
git remote add <remote> <url>:添加远程版本库
git fetch <remote>:从远程库获取代码
git pull <remote> <branch>:拉取代码及合并
git push <remote> <branch>:上传代码及合并
git push <remote> :<branch/tag-name>:删除远程分支或标签
git push --tags:上传所有标签
git的常用命令集合