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 日常使用的更多相关文章

  1. git 日常使用从入门到真香

    目录 git 日常使用从入门到真香 一.Git简介 二.Git常用命令 三.git操作流程 四.报错处理 git 日常使用从入门到真香 一.Git简介 Git是一个开源的分布式版本控制系统,可以有效. ...

  2. git日常使用的常用命令总结

    git日常使用的常用命令总结 git 是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常 ...

  3. Git日常须知

    基本操作: git init 初始化环境 git add . 管理文件 git status 查看状态 git diff 文件名 查看修改内容 git commit -m '' 提交文件 git lo ...

  4. git——日常保险操作

    git fetch --all //拉取远程最新代码 git reset --hard origin/master //如果本地无法更新,使用远程覆盖本地 git branch old_master ...

  5. git日常操作

    0.准备工作 0.1 git安装 http://git-scm.com/download/   图形客户端建议使用source tree,中文界面 http://www.sourcetreeapp.c ...

  6. git日常使用经验积累

    1 git merge origin/develop 将远程分支合并到本地,一般先执行合并,解决冲突,然后再git commit合入新建的分支,推送到远程分支里面,最后码云上找pl pull requ ...

  7. Git 日常操作

    本地新建Git库步骤: 初始化git库:git init 建立本地和远程的关联: git remote add origin ip:端口/ 项目.git 从远程下载所有分支到本地:git  fetch ...

  8. Git 日常工作中使用的命令记录

    前言   这篇文章主要是介绍我在使用Git中的有一些忘记了,但是很重要的命令. 20190424 Git 历史信息 username 和 email 更改 git config alias.chang ...

  9. git 日常

    git 恢复到上一个版本比如执行 git commit 命令之后 做了一些修改 恢复到上一个版本 1.修改一个文件想回到修改前 直接 git checkout -- filename 2.修改过文件, ...

随机推荐

  1. SQL Server数据库连接类SQLHelper.cs

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  2. JavaScript 风格指导(Airbnb版)

    JavaScript 风格指导(Airbnb版) 用更合理的方式写 JavaScript 原文 翻译自 Airbnb JavaScript Style Guide . 目录 类型 引用 对象 数组 解 ...

  3. 【DELPHI】线程相关

    //准备让线程调用的测试函数 procedure Draw(aCanvas: TCanvas; X,Y: Integer; aCount: Integer = 100000); var i: Inte ...

  4. C# Windows - TabControl

    TabControl控件的属性 - 一般用于控制TabPages对象容器的外观,特别是显示的选项卡的外观 属性 说明 Alignment 控制选项卡在选项卡控件的什么位置显示 Appearance 控 ...

  5. python学习笔记3(字符串)

    Python字符串: 在Python中的字符串被确定为一组连续的字符在引号之间, Python允许在任何对单引号或双引号. 串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始的字符串的开 ...

  6. Telerik 控件事例(鼠标拖动行,拖动列,设置行对齐,行宽,是否显示)

    People.cs using System;using System.Collections.Generic;using System.Data;using System.Linq;using Sy ...

  7. js原生代码编写一个鼠标在页面移动坐标的检测功能,兼容各大浏览器

    function mousePosition(e) {     //IE9以上的浏览器获取     if (e.pageX || e.pageY) {         return {         ...

  8. Linux下使用GDB调试程序

    问题描述:          Linux下使用GDB调试程序 问题解决:          (1)生成调试文件 注:         使用命令   gdb IOStream.c   -o IOStre ...

  9. 【高斯消元】BZOJ 1770: [Usaco2009 Nov]lights 燈

    Description 貝希和她的閨密們在她們的牛棚中玩遊戲.但是天不從人願,突然,牛棚的電源跳閘了,所有的燈都被關閉了.貝希是一個很膽小的女生,在伸手不見拇指的無盡的黑暗中,她感到驚恐,痛苦與絕望. ...

  10. WCF服务的创建和发布到IIS

    一. WCF服务的创建 有两种创建方式: 1.WCF服务库 2.WCF服务应用程序 如下图所示: 这里选择WCF服务库.注意事项: 1.WCF服务库是一个类库项目,这里选择.net 3.5版本(版本高 ...