zoukankan      html  css  js  c++  java
  • Git常用操作

    Git命令

    1)远程仓库相关命令

    检出仓库:$ git clone git://github.com/jquery/jquery.git

    查看远程仓库:$ git remote -v

    添加远程仓库:$ git remote add [name] [url]

    删除远程仓库:$ git remote rm [name]

    拉取远程仓库:$ git pull [remoteName] [localBranchName]

    推送远程仓库:$ git push [remoteName] [localBranchName]

    2)分支(branch)操作相关命令

    查看本地分支:$ git branch

    查看远程分支:$ git branch -r

    创建本地分支:$ git branch [name] —-注意新分支创建后不会自动切换为当前分支

    切换分支:$ git checkout [name]

    创建新分支并立即切换到新分支:$ git checkout -b [name]

    $ git checkout -b dev origin/dev 迁出远程分支

    删除分支:$ git branch -d [name] —- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

    合并分支:$ git merge [name] —-将名称为[name]的分支与当前分支合并

    创建远程分支(本地分支push到远程):$ git push origin [name]

    删除远程分支:$ git push origin :heads/[name]

    列出分支图
    git config –global alias.lg “log –graph –all –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit –date=relative”

    git lg (设置了别名后,就可以使用别名进行查看)

    3)版本(tag)操作相关命令

    查看版本:$ git tag

    创建版本:$ git tag [name]

    删除版本:$ git tag -d [name]

    查看远程版本:$ git tag -r

    创建远程版本(本地版本push到远程):$ git push origin [name]

    删除远程版本:$ git push origin :refs/tags/[name]

    拉取tag版本:git checkout -b branch_name tag_name

    推送tag版本:git push —tags

    4) 子模块(submodule)相关操作命令

    添加子模块:$ git submodule add [url] [path]

    初始化子模块:$ git submodule init —-只在首次检出仓库时运行一次就行

    更新子模块:$ git submodule update —-每次更新或切换分支后都需要运行一下

    删除子模块:$ git rm –cached [path]

    5)忽略一些文件、文件夹不提交

    在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
    target,
    bin,
    *.db,

    代码提交

    代码提交一般有五个步骤:

    1.查看目前代码的修改状态

    2.查看代码修改内容

    3.暂存需要提交的文件

    4.提交已暂存的文件

    5.同步到服务器

    git config –global push.default matching

    git config –global push.default simple

    //建立关系

    git branch –set-upstream my_branch origin/my_branch

    1. 查看目前代码的修改状态

    提交代码之前,首先应该检查目前所做的修改,运行git status命令

    a) 已暂存 (changes to be committed)

    new file //表示新建文件

    modified //表示修改文件

    deleted //表示删除文件

    b) 已修改 (changed but not updated)

    modified //表示修改文件

    deleted //表示删除文件

    另外,git 给出了可能需要的操作命令,git add/rm, gitcheckout –

    c) 未跟踪 (untracked files)

    2. 查看代码修改的内容

    git diff 

    比较某文件与最近提交节点的差异。

    注意:如果该文件已暂存,那么应该使用git diff –cached

    git diff 

    比较某文件在提交节点a,节点b的差异。

    技巧:如果省略后面一个hashcode,则默认表示与上一提交节点比较。(也可以利用^运算符)

    3. 暂存需要提交的文件

    如果是新建的文件

    则git add 

    如果是修改的文件

    则git add 

    如果是删除的文件

    则 git rm 

    4. 提交已暂存的文件

    git commit

    注意注释填写规范。

    git commit –amend

    修改最近一次提交。有时候如果提交注释书写有误或者漏提文件,可以使用此命令。

    5. 同步到服务器

    同步到服务器前先需要将服务器代码同步到本地

    命令: git pull

    如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。
    命令:git checkout – <有冲突的文件路径>

    同步到服务器

    命令: git push origin <本地分支名>

    如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。

    GitFlow流程

     

    GitPullRequest

    两种方式

    1.一种通过网页发起

    2.通过hub发起

    $ git checkout -b new-feature

    // make changes

    // ...

    $ git add . && git commit -m "change log"

    $ git push origin new-feature

    // repeat push code before pr

    $ hub pull-request -m "pr title"

    // then metion @0day to review

    // when merge done

    $ git checkout master

    $ git pull origin master —rebase

    // remove local useless branch

    $git branch -d new-feature

    重新设置远程URL

    cd existing-project

    git remote set-url origin http://weikeyan@stash.qingclass.org/scm/ios/qingschool.git

    git push -u origin master

    rebase 和 merge 的区别

    #gitbook

    https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8

  • 相关阅读:
    Python开篇——Python的哲学
    python在CentOS 7中的安装
    TortoiseSVN_1.9.1.267_x64版本控制系统(针对Visual SVN Server)使用简单介绍
    win10+eclipse+hadoop2.7.2+maven+local模式直接通过Run as Java Application运行wordcount
    存储器的保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记20
    存储器的保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记18
    存储器的保护(二)——《x86汇编语言:从实模式到保护模式》读书笔记19
    进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
    16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
    关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15
  • 原文地址:https://www.cnblogs.com/keyan1102/p/5192307.html
Copyright © 2011-2022 走看看