GIT 常用命令

==git解决每次拉取代码都需要用户名密码

执行git config --global credential.helper store,在~/.gitconfig目录下会多出一个文件,这里会记录你的密码和帐号;
再执行git pull 输入一次正确的帐号密码之后就不用再输入了。

== 删除:

本地分支: git branch -d xxx
远程分支: git push origin --delete xxx

== 设置: 本地与远程分支映射关系:

绑定操作: git branch --set-upstream-to=origin/远程分支名 本地分支名

== 创建Tag并推送远程:

打Tag: git tag -a V2.3.9 -m '239 last update 2019-08-22'
单个提交远程: git push origin V2.3.9
push所有Tag: git push origin --tags
线上Bug并修复Tag:
git tag -d V2.2.0
git push origin :refs/tags/V2.2.0
获取远程版本: (运维部署) git fetch origin tag V2.2.0
以tag 231签出一个新分支: git checkout -B master-231 V2.3.1

== 强制更新

强制下载远程文件替换本地:
git fetch --all
git reset --hard origin/xxx
强制更新单个文件
git fetch
git checkout origin/xxx -- application/cron/logic/FbaSugAsinLogic.php

== 查看

查看分支:
git branch -a
git branch
git branch -r
绑定关系: git branch -vv

== 新建

新建本地分支:
git checkout -b xxx
以远程xxx分支创建本地分支:
git checkout -b xxx origin/xxx
以本地xxx分支新建远程分支:
git push --set-upstream origin xxx:xxx

== 清缓存问题

远程分支已删除, 本地(git branch -a)还能显示?
git remote prune origin
查看哪些分支已删除: 
git remote show origin

== 比较
不同分支:

git diff branch1 branch2 --stat //显示出所有有差异的文件列表
git diff branch1 branch2 //显示出所有有差异的文件的详细差异

== Tag版本回退和恢复

git tag
git show V2.3.2
git reset --hard commit_id

== 已加入版本的文件忽略方法

先删除文件, 再执行:git rm --cached application/api/controller/MyTestController.php
git add .
git commit -m 'update .gitignore'

==stash暂存代码相关

git stash 把现有的修改藏起来
git stash save “desc” 把现有的修改藏起来,并且添加一个注释
git stash list 查看所有藏起来的
git stash pop stash@{index} 删除 最近/指定 一个藏起来的,并还原回来代码
git stash apply stash@{index} 应用藏起来的不删除stash 列表
git stash drop shash@{index} 删除藏起来的不还原代码
git stash clear 清除所有修改
git stash show shash@{index} 查看修改了什么文件
git stash show -p shash@{index} 查看修改了什么文件,里面修改了什么内容

 

  

posted @ 2019-11-29 11:17  jongty  阅读(156)  评论(0编辑  收藏  举报