zoukankan      html  css  js  c++  java
  • 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>

    ================================

     

  • 相关阅读:
    ps插件安装
    CSS3时钟式进度条
    手机web——自适应网页设计(html/css控制)
    7个设计师必备的国际顶尖设计网站
    中​文​字​号​、​磅​和​像​素​对​照​关​系
    图标字体
    用AE如何制作如下三个loading动效,
    u盘装系统
    SpringBoot:Maven创建一个HelloWorld
    eclipse中配置maven和创建第一个 Spring Boot Application
  • 原文地址:https://www.cnblogs.com/icenter/p/5267675.html
Copyright © 2011-2022 走看看