git常用指令和用法

创建git仓库

  命令:git init
  描述:创建一个可以容纳资源(物件)的容器(仓库)

往仓库旁边的暂存区中存放物件(资源)

  命令:git add [文件名]
  描述:将文件资源(物件)交给容器(仓库)管理员(暂存区)说,这个资源(物件)以后是要入容器(仓库)的;

将暂存区中的物件(资源)往仓库中存放

  命令:git commit -m [本次提交的注释]
  描述:告诉容器(仓库)资源(物件)之前的所有状态的改变进行一个快照(照相机照一张图片);并将文件资源(物件)交给容器(仓库)管理员(暂存区)说,这个资源(物件)以后是要入容器(仓库)的;

往仓库中存放物件(资源)

  命令:git diff "文件名"
  描述:当前修改的文件资源(物件)与容器(仓库)中的文件资源(物件)的的比较

查看容器(仓库)的提交历史记录

  命令:git log / git log --pretty=online git log --graph
  描述:查看git的提交历史记录

git回退到指定版本(时光穿梭机)

  命令:git reset --hard [commit_id]
  描述:查看git的提交历史记录
  备注:在git的世界中:HEAD 代表当前版本,HEAD^ 代表上一个版本 HEAD^^ 代表上上一个版本 HEAD~100 代表上100个版本;git reset HEAD "文件名" 可以把暂存区的修改撤销掉(unstage) 重新放回工作区

git查看命令历史

  命令:git reflog
  描述:查看历史命令,以便确认要回到未来的哪个版本

git撤回修改

  命令:git checkout [文件名]
  描述:把对应的文件在工作区的修改全部撤销
  备注:
场景一:对应的文件修改后还没有放到暂存区中;撤销修改会回到和版本库一模一样的状态
场景二:对应的文件修改后放到了暂存区中,又再次的进行了修改;撤销修改会回到添加到暂存区后的状态
总结:让文件回到最后一次git commit 或者 git add 时的状态

git删除文件

  命令:git rm [文件名]
  描述:从版本库中移除对应的文件,并将工作区的文件也删除掉

远程仓库

列出已经存在的远程库

  命令:git remote
  描述:列出已经存在的远程库

列出已经存在的远程库

  命令:git remote -v / git remote --verbose
  描述:列出已经存在的远程库的详细信息;在每一个名称后面列出其远程URL

添加远程仓库

  命令:git remote add [远程库名称] [URL]
  描述:远程库名称是对远程库的一个引用(即名称代表着URL所指向的远程库),

修改远程仓库

  命令:git remote rename [原名称] [目标名称]
  描述:即将原名称修改为目标名称

修改远程仓库

  命令:git remote rm [远程库名称]
  描述:移除指定名称的远程库

分支管理

创建并切换到对应的分支

  命令:git checkout -b [分支名]
  描述:创建分支并切换到创建的分支上

创建分支

  命令:git branch [分支名]
  描述:创建分支

远程库先开好分支然后拉取到本地

  命令:git checkout -b [分支名] [远程库]/[分支名]
  描述:将远程库中已经开好的分支拉取到本地

本地先开好分支然后推送到远程

  命令:git checkout -b [分支名] (创建分支) git push [远程库] [本地分支名]:[远程库分支名]
  描述:将远程库中已经开好的分支拉取到本地

切换分支

  命令:git checkout [分支名]
  描述:切换到对应的分支上

查看所有分支

  命令:git branch / git branch -r(查看远程所有分支)
  描述:查看所有的分支
备注:当前分支前面会标记一个 * 号

合并分支

  命令:git merge [分支名]
  描述:将对应分支的内容合并到master中
备注:
合并时如果出现"Fast forward"提示时;这种场景下Git只是将master分支指针直接右移; 如果不想使用"Fast forward"策略可以在merge时使用--no-ff参数更改为普通策略;eg: git merge --no-ff -m "merge时添加的描述信息" [分支名]
"Fast forward"策略合并后看不出曾经做过合并;普通策略可以

删除分支

  命令:git branch -d [分支名] / git branch -D [分支名](强制删除)
  描述:删除分支

stash(数据存储)

将当前工作现场储存起来
  命令:git stash
  描述:将当前工作现场储存起来,等以后恢复现场后继续工作

展示工作现场的储存列表

  命令:git stash list
  描述:查看当前工作区的储存列表

恢复工作现场

  命令:git stash apply / git stash apply stash@{0}(恢复指定的现场)
  描述:恢复stash内容
备注:恢复后stash内容不会被删除

删除工作现场

  命令:git stash drop
  描述:删除stash内容

恢复并删除工作现场

  命令:git stash pop
  描述:恢复并删除stash内容
备注:恢复后stash也会被删除

标签管理

git查看标签列表

  命令:git tag
  描述:查看标签列表

git打标签

  命令:git tag [name] / git tag -a [tagname] -m [标签描述信息] [commit_id]
  描述:git打标签

git给指定commit_id打标签

  命令:git tag [name] [commit_id]
  描述:git给指定的commit_id打标签

git将本地标签推送到远程库

  命令:git push [远程库] [tagname] / git push [远程库] --tags (将本地所有的标签推送到远程库)
  描述:将指定标签名推送到指定的远程库上

git查看标签信息

  命令:git show [tagname]
  描述:展示对应标签的信息

git删除标签

  命令:git tag -d [tagname]
  描述:删除指定名字的标签

git删除远程库上的标签

  命令:git push [远程库] :refs/tags/[tagname]
  描述:删除远程库上指定名字的标签

猜你喜欢

转载自blog.csdn.net/weixin_33795093/article/details/90934317