git 日常使用
git clone
git checkout
git 删除 本地分支:
git branch -d <本地分支名>
git branch -D <本地分支名>(大写表示强制删除)
git 修改 本地分支名
git branch -m <老分支名> <新分支名>
git 查看stash
git stash list
git 应用 stash
git stash apply <stash index>
git stash pop 这个命令只能把栈顶上的pop 出来
git 删除 stash
git stash drop <stash index>
git 查看 stash 的内容
git stash show <stash index>
清楚所有的 stash
git stash clear
git 查看状态
git status
git 查看分支
git branch
git branch -vv
git branch -r
git branch -av
git 切换分支
git checkout <分支名> 在已经有的分之间切换
git checkout -b <分支名> 切换并创建新的分支,分支名不存在时使用 -b 参数,(新建分支并切换)
git checkout -B <分支名> 切换并创建新的分支,分支名存在时时无法切换成功,使用 -B参数强制切换,(新建分支并切换)
git checkout -b <本地分支名> origin/<远程分支名> 直接从远程分支上跟新并创建本地分支
例如:git checkout -b my_feature origin/new_feature
git 添加要提交的文件或目录
git add <file | dir>
git 提交
git commit
git commit -m "commonts"
git 把本地文件推送到远程(服务器)仓库{提交到服务器}
git push
git push origin <本地分支名>:<远程分支名> 如果远程分支名不存在则创建,如果存在则直接推送
git 把远程(服务器)仓库文件拉回到本地{更新文件}
git pull
git pull origin <远程分支名>:<本地分支名>
git 关联远程分支
git branch --set-upstream-to=<远程分支名>
git 取消关联远程分支
git branch --unset-upstream
git 删除远程分支
git push origin --delete <远程分支名> 直接使用 --delete 参数删除
git push origin :<远程分支名> 推送一个空的分支到对用的远程分支上,相当于删除了远程分支
==== 这里注意,<远程仓库>和<远程分支>的区别====
git 查看远程仓库
git remote 和 git remote show 一样都能显示远程仓库
git remote -v 显示远程仓库 -v是 --verbose
git 添加远程仓库
git remote add <远程仓库名> <URL>
git remote rm <远程仓库名> 删除远程仓库
git remote rename <远程仓库old_name> <远程仓库new_name>
git remote show <远程仓库> 能够显示更详细的信息
如果某个仓库,本地有而对应的远程仓库已经被删除,会显示 (use ‘git remote prune’ to remove)
这是按提示执行命令就行如下:
git remote prune <origin> origin就是远程仓库名
git tag
git tag 列出所有的标签
git tag -l 列出所有的标签并排序
git tag -l ‘v.1.*’ 列出指定的相关的标签并排序
git tag <tagName> git 新建标签(不加任何参数,表示新建轻量级标签)
git tag -a <tagName> -m “Comments here” 新建标签(使用-a, -m参数含有附注的标签)
git tag show <tagName> 查看显示tagName 相关的信息
如果你有自己的私钥还可以使用GPG来签署标签,
git tag -s <tagName> -m “Comments here"
由于要用到自己的私钥并别使用gpg命令签署,所自己实验并未成功。
PGP_Suite下载地址:https://releases.gpgtools.org/GPG_Suite-2015.09.dmg
如果签署了标签和可以对标签进行验证
tag -v <tagName>
还可以在某个提交上加标签
git tag -a <tagName> <commit_id>
删除标签
git tag -d <tagName> 删除本地标签
git push origin :refs/tags/<tagName> 删除远程标签(推送一个空标签到对应的远程标签即可删除)
推送一个标签到远程
git push origin <tagName> 提交具体的一个标签名到远程
git push origin --tags 一次推送所有本地新增的标签到远程
检出标签
git checkout -b <local_branch_name> <tagName>
在 Git 中你并不能真的检出一个标签,因为它们并不能像分支一样来回移动。 如果你想要工作目录与仓库中特定的标签版本完全一样,可以使用 git checkout -b [branchname] [tagname]
在特定的标签上创建一个新分支:
$
git checkout -b version2 v2.0.0 Switched to a new branch 'version2'
当然,如果在这之后又进行了一次提交,version2
分支会因为改动向前移动了,那么 version2
分支就会和 v2.0.0
标签稍微有些不同,这时就应该当心了。
git cherry-pick 使用
如果在<branch_A>上执行了commit,代码改动已经提交或者做了push.
现在想把上一次在<branch_A>上的提交,再再<branch_B>上提交一次。
一个笨得方法就是如果你记得所有改动的文件和改动的内容,
你可以重新在branch_B上再改一遍,但这样风险也很大。
一个好得方法就是使用cherry-pick。
使用的步骤入如下:
1,首先在branch_A上,使用 git log 查到上一次提交的id, (commit_id),记录下这个id。
2,切换到branch_B上,使用 git cherry-pick <commit_id>, 命令执行结束。
这样如果没有冲突的话,就是已经在branch_B上做了commit操作,注意看一下执行的结果,
说已经有一个commit了,这个时候git status看不到什么特殊的要提交的,基本可以push到远程了。
如果有冲突的话,和一般的冲突一样,可以使用git status查看状态,可以手动merge文件,修改冲突后在提交。
也可以根据提示修改,但要注意修改的结果,如果没有问题就可以执行commit,然后 push了。
================================
git 删除tag
git tag -d <tagName>
git push origin :refs/tags/<tagName>
Case1:
别人在远程仓库建立了一个分支branch_1,
我更新branch_1到本地,
别人又删除了远程分支brancn_1,
我在执行fetch或者pull命令时不会删除我本地的branch_1分支,但是执行git branch -a 也不能看到这个 branch_1 被删除了,这个时候怎么办?
可以使用 git remote show origin 查看一下状态,
然后使用 git remote prune origin 可以将branch_1从本地版本库中移除,
或者直接使用 git fetch -p 命令
推送本地tag到远程
git push --tags
获取远程tag
git fetch origin tag <tagName>
================================
git 日常使用的更多相关文章
- git 日常使用从入门到真香
目录 git 日常使用从入门到真香 一.Git简介 二.Git常用命令 三.git操作流程 四.报错处理 git 日常使用从入门到真香 一.Git简介 Git是一个开源的分布式版本控制系统,可以有效. ...
- git日常使用的常用命令总结
git日常使用的常用命令总结 git 是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常 ...
- Git日常须知
基本操作: git init 初始化环境 git add . 管理文件 git status 查看状态 git diff 文件名 查看修改内容 git commit -m '' 提交文件 git lo ...
- git——日常保险操作
git fetch --all //拉取远程最新代码 git reset --hard origin/master //如果本地无法更新,使用远程覆盖本地 git branch old_master ...
- git日常操作
0.准备工作 0.1 git安装 http://git-scm.com/download/ 图形客户端建议使用source tree,中文界面 http://www.sourcetreeapp.c ...
- git日常使用经验积累
1 git merge origin/develop 将远程分支合并到本地,一般先执行合并,解决冲突,然后再git commit合入新建的分支,推送到远程分支里面,最后码云上找pl pull requ ...
- Git 日常操作
本地新建Git库步骤: 初始化git库:git init 建立本地和远程的关联: git remote add origin ip:端口/ 项目.git 从远程下载所有分支到本地:git fetch ...
- Git 日常工作中使用的命令记录
前言 这篇文章主要是介绍我在使用Git中的有一些忘记了,但是很重要的命令. 20190424 Git 历史信息 username 和 email 更改 git config alias.chang ...
- git 日常
git 恢复到上一个版本比如执行 git commit 命令之后 做了一些修改 恢复到上一个版本 1.修改一个文件想回到修改前 直接 git checkout -- filename 2.修改过文件, ...
随机推荐
- preventDefault()、stopPropagation()、return false 之间的区别
“return false”之所以被误用的如此厉害,是因为它看起来像是完成了我们交给它的工作,浏览器不会再将我们重定向到href中的链接,表单也不会被继续提交,但这么做到底有什么不对呢? 可能在你刚开 ...
- 教你配置linux服务器登陆欢迎信息
登录一台测试机时发现显示PS1前还显了一行’Welcome to Cloudex’的欢迎信息,真丫牛B.在linux中,设置/etc/issue和/etc/motd文件即可实现这样的登录欢迎信息. 登 ...
- C# 学习之旅(3) --- 会说话的简易计算器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Spark机器学习 Day2 快速理解机器学习
Spark机器学习 Day2 快速理解机器学习 有两个问题: 机器学习到底是什么. 大数据机器学习到底是什么. 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这 ...
- 数据可视化(一)-Matplotlib简易入门
本节的内容来源:https://www.dataquest.io/mission/10/plotting-basics 本节的数据来源:https://archive.ics.uci.edu/ml/d ...
- 《WPF程序设计指南》读书笔记——第9章 路由输入事件
1.使用路由事件 路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件.通俗地说,路由事件会在可视树(逻辑树是其子集)上,上下routed,如果哪个节点上订阅了 ...
- The method of type must override a superclass method
导入android项目时,报The method of type must override asuperclass method 一堆错误, 解决方法: 将编译的jdk与使用的jdk版本一致即可.
- EXTJS 4.2 日期控件
{ xtype: "fieldcontainer", layout: "hbox", items: [{ fieldLabel: '开始时间', name: ' ...
- 格式化说明符定义、转义字符、枚举、结构体、typedef
1.格式化说明符定义: %i,%d:输出十进制整型数 %6d:输出十进制整型数,至少6个字符宽 %li,%ld:输出长整数 %u:输出无符号整数 %lu:输出无符号长整数(相当于:unsigned l ...
- DB天气app冲刺二阶段第三天
今天发现自己不能乖乖的按照计划来进行项目了.弄着这个然后不知不觉就弄到那边去了,结果就是哪边都弄不好,但又很纠结.还是要给自己一个计划白班才行,每次只是计划这一两天的根本不行.明天要指定一个计划白板, ...