git命令

查看分支

  • 查看本地分支:git branch
  • 查看远程分支:git branch -r
  • 查看所有分支:git branch -a
  • 创建本地分支:git branch<分支名>
  • 切换分支:git checkout <分支名>
  • 创建并切换到新分支:git checkout -b <分支名>
  • 查看所属分支 git branch -a
  • 跟踪远程分支 git push -u origin <远程分支名>
  • git branch -d <分支名>删除本地分支
  • git push origin --delete <分支名> 删除远程分支
  • git reset --hard HEAD^ 回退到上个版本
  • git reset --hard HEAD~3 回退到前3次提交之前,以此类推,
  • git reset --hard commit_id 退到/进到 指定commit的sha码
  • git checkout commit ID 查看提交记录
  • git log 查看提交记录--pretty=oneline
  • git log --pretty=oneline 查看提交记录,只会显示版本号和提交时的备注信息
  • git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
  • git cherry-pick <commitid> 可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上

2.git之删除远程仓库文件,使用 git rm 命令即可,有两种选择:一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。假如你有文件不小心commit到了服务器那么你想要删除它,可以使用:git rm -- cached "路径+文件名" ;git commit -m "delete file" ;git push;git rm -r "路径+文件名" ;git commit -m "delete file";git push

  • 本地新建分支,并切换到本地新分支,同时拉取远程分支到本地: git checkout -b <本地分支名> origin/<远程分支名>

  • 合并本地分支:git merge dev

  • 合并远程分支到本地分支: git pull origin dev

  • 推送到已跟踪的远程分支:git push

  • 推送到固定的远程分支: git push origin master

  • 拉取已跟踪的远程分支:git pull

  • 暂存所有: git add <文件名>

  • 暂存所有: git add .git add *

  • git branch -vv:查看本地分支和远程分支的跟踪关系

  • git branch -u origin/serverfix: 设置当前分支跟踪远程分支origin/serverfix

  • git branch --set-upstream branch-name origin/branch-name: 将branch-name分支追踪远程分支origin/branch-name

  • git checkout -b develop origin/develop:在远程分支的基础上建立develop分支,并且让develop分支追踪- - `origin/develop远程分支。

  • 放弃所有修改文件(未暂存): git checkout .

  • 放弃单个修改文件(未暂存): git checkout -- filename

  • 删除所有新增文件(未暂存): git clean -xdf

  • 删除单个新增文件(未暂存): rm filename / rm dir -rf

gitk --all:真实的画出本地+远程所有分支的全部提交的树状结构

取消暂存
新建远程分支,并推送本地分支到远程分支

  • git clone -b <指定分支名> <远程仓库地址>

  • 查看远程仓库地址:git remote show origin

  • 切换远程仓库地址:git remote set-url origin xxx(新的仓库地址)
    git diff:当工作区有改动,临时区为空,diff的对比是“工作区与最后一次commit提交的仓库的共同文件”;当工作区有改动,临时区不为空,diff对比的是“工作区与暂存区的共同文件”。
    git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别
    git rebase


git stash:

  • git stash save "message" :保存当前工作进度,将工作区和暂存区恢复到修改之前,message为此次进度保存的说明。
  • git stash list:显示保存的工作进度列表,编号越小代表保存进度的时间越近。
  • git stash show:显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个git stash show stash@{1}
  • git stash pop stash@{num}:恢复工作进度到工作区,并将缓存堆栈中的对应stash删除,此命令的 stash@{num}是可选项,在多个工作进度中可以选择恢复,不带此项则默认恢复最近的一次进度相当于 git stash pop stash@{0}
  • git stash apply stash@{num}:恢复工作进度到工作区且不会把存储从存储列表中删除,该工作进度可重复恢复,此命令的stash@{num}是可选项,在多个工作进度中可以选择恢复,不带此项则默认恢复最近的一次进度相当于git stash apply stash@{0}
  • git stash drop stash@{num}:删除一条保存的工作进度,此命令的stash@{num}是可选项,在多个工作进度中可以选择删除,不带此项则默认删除最近的一次进度相当于git stash drop stash@{0}
  • git stash clear:删除所有保存的工作进度。

git cherry-pick

  • git cherry-pick <commitHash>:将指定的提交commitHash,应用于当前分支。这会在当前分支产生一个新的提交
  • git cherry-pick <HashA> <HashB>:将 A 和 B 两个提交应用到当前分支。这会在当前分支生成两个对应的新提交。
  • git cherry-pick A..B:转移从 A 到 B 的所有提交,不包含A。它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。
  • git cherry-pick A^..B:转移从 A 到 B 的所有提交,包含A。

git reset

  • git reset HEAD 回退到当前版本,其实就是去除掉添加到暂存区的内容,退回到工作区
  • git reset HEAD^ 回退到上个版本,把提交的内容重新回退到工作区
  • git reset <commit_id> 回退到指定版本,把提交的内容重新回退到工作区
git reset --hard
  • git reset --hard HEAD 回退到当前版本,彻底去除掉添加到暂存区的内容,内容不会回退到工作区
  • git reset --hard HEAD^ 回退到上个版本,彻底回退,内容不会回退到工作区
  • git reset --hard HEAD~3 回退到前3次提交之前,以此类推,内容不会回退到工作区
  • git reset --hard <commit_id> 退到/进到 指定commit的sha码,内容不会回退到工作区

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,928评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 97,032评论 3 410
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 173,382评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,580评论 1 304
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,558评论 6 403
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,018评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,261评论 3 432
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 41,328评论 0 281
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,858评论 1 328
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,843评论 3 351
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,954评论 1 358
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,565评论 5 352
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,251评论 3 342
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,677评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,834评论 1 278
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,558评论 3 383
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,033评论 2 368