首页 > 代码库 > 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的常用命令集合