git的常用命令总结

一、本地仓库

1、git init

创建git空仓库

2、git add <file>

添加文件到暂存区

3、git commit -m "提交的描述"

提交暂存区的内容到工作区

4、git log    git log --pretty=oneline (格式化查看log日志)   

查看提交的日志

5、git reset --hard HEAD^      git reset --hard 提交的id

回退到上一个版本(工作区和版本库一起修改)

6、git reflog

如果回退到上个版本后悔了,可以继续使用这个reflog查看之前的版本在选择回退到哪个版本

7、git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支

8、git diff HEAD -- <file>

查看工作区和版本库里面最新版本的区别

9、git checkout -- <file>

两种情况:

①:在工作区修改的内容还没有add到暂存区,执行后会回到与版本库中的一模一样的状态

②:已经把工作区的内容add到暂存区后,再次修改工作区的内容,执行后会保持已经添加到暂存区的状态

10、git reset HEAD <file>

可以把暂存区的修改撤销掉(unstage),重新放回工作区。

11、git rm <file>

删除工作区和暂缓区的文件

二、远程仓库

1、git remote add origin 地址

关联远程仓库

2、git push -u origin master

第一次把本地内容推送到远程仓库

3、git push origin maste

把本地master分支的最新修改推送至远程仓库(github)

4、 git clone 地址

如果想拷贝github上的项目用上面的命令(克隆下来以后只能看到master分支)

5、git remote

查看远程仓库信息(当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin)

6、git remote -v

显示更详细的信息

7、git push origin <分支名>

这是分支的推送,可以把本地的分支推送到远程仓库中的分支

8、git checkout -b dev origin/dev

当你clone了一个项目之后是查看不到除了master以外的分支,所以需要用以上代码创建并切换分支

9、git branch --set-upstream-to=origin/dev dev

关联本地分支与远程分支,这样就能采取git pull命令拉取远程仓库的最新代码(可能会有冲突)

10、git pull(git pull origin dev)

拉取分支代码(在拉取之前可以用git diff进行查看,避免冲突)

三、分支管理

1、git checkout -b <分支名>

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch <分支名>

$ git checkout <分支名>

2、git branch

查看当前的分支

3、git checkout master

切换分支,工作区的内容也跟着一起切换。

4、git merge <分支名>

合并分支

5、git branch -d <分支名>

合并之后删除分支

6、git log --graph --pretty=oneline --abbrev-commit

分支有冲突时查看分支情况

7、git merge --no-ff -m "merge with no-ff" dev

分支管理策略:因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

8、git stash

保存当前分支的工作现场,可以去修改着急的bug分支

9、git stash list

查看有多少个stash

10、git stash pop

恢复工作现场同时把stash删除掉 (git stash apply 恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;)

11、git stash apply stash@{0}

可以有多次stash,恢复指定的stash

12、git branch -D <分支名>

开发新功能时需要新建个feature分支,强行删除分支上的内容。

三、标签

1、git tag <tag>

默认标签是打在最新提交的commit上的

2、git tag

查看所有标签

3、git tag <tag> commitid

指定commitid打标签

4、git show <tag>

显示对应标签上提交的信息

5、$ git tag -a <tag> -m "说明" commitid

创建带有说明的标签,用-a指定标签名,-m指定说明文字

标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签

6、git tag -d <tag>

删除标签

7、git push origin <tag>

推送到远程标签

8、git push origin --tags

一次性推送全部尚未推送到远程的本地标签

9、git tag -d <tagname>

删除远程标签先删除一个本地标签,然后在删除远程标签

10、git push origin :refs/tags/<tagname>

删除远程标签

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装Git Git的下载地址:Git官网下载地址 Git本地仓库和命令 配置用户 下载完Git后,右键会有一个Gi...
    TokyoZ阅读 9,944评论 1 7
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 10,354评论 0 9
  • 常用Git命令总结 git config --global user.name "你的名字" 让你全部的Git仓库...
    繁星追逐阅读 1,722评论 0 0
  • 简介   git有四个工作区域,分别是:工作目录(Workspace)、暂存区(Index/Stage)、本地仓库...
    gybguohao阅读 21,195评论 4 21
  • 近几天一直在看知否知否,本来对它充满期待,但是小说搬到大荧幕才发现,原来漏洞如此之多。 记得刚刚看知否的小说时,感...
    两个胖女孩阅读 2,895评论 0 3