• 分享git的常用命令


    Git操作笔记
     
        1.创建目录
            $ mkdir learngit
            $ cd learngit
     
        2.把新建的目录变成仓库
            $ git init
     
        3.将一个文件添加到版本库
            $ git add readme.txt
     
        4.将一个或者多个文件一起提交到版本库
            $ git commit -m "wrote a readme file"
     
     
     
        5.查看仓库的状态
            $ git status
     
        6.查看某个文件做了哪些改动
            $ git diff readme.txt
     
        7.查看历史记录
            $ git log(--pretty=oneline)
     
        8.回退上一个版本
            $ git reset --hard HEAD^  或 $ git reset --hard 3628164
     
        9.查看使用过的命令
            $ git reflog
     
        10.丢弃工作区的修改
            $ git checkout -- readme.txt
     
        11.撤销对暂存区的修改,重新放回工作区
            $ git reset HEAD readme.txt
     
            备注:回退修改小结:
                    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时(即未add),用命令git checkout -- file。
     
                    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改(即add但是没commit),分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
     
                    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交(即commit了),使用$ git reset --hard HEAD^  或 $ git reset --hard 3628164进行版本回退,不过前提是没有推送到远程库。
        12.删除一个文件
            $ git rm test.txt
     
     
        关联远程库步骤:
            要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
     
            关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
     
            此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
     
        13.关联一个远程库
            $ git remote add origin git@github.com:jhscpang/learngit.git(ssh不太好用,用https版,见下一行不太好用,用https版,见下一行)
            git remote add origin https://github.com/jhscpang/learngit.git
     
        14.把本地的内容推送到远程服务器
            $ git push -u origin master
     
        15.克隆一个本地仓库
            $ git clone git@github.com:pangchao620/gitskills.git(ssh不太好用,用https,见下一行)
            $ git clone https://github.com/jhscpang/learngit.git
     
     
        16.创建一个分支
            $ git checkout -b dev 
                备注:git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
                                        $ git branch dev
                                        $ git checkout dev
     
        17.查看当前分支
            $ git branch
     
        18.切换分支
            $ git checkout master
     
        19.合并指定分支到当前分支
            $ git merge dev (默认是快进模式合并)(假设当前分支是master分支,则此命令是将dev分支合并到master分支)
            如果禁用快进模式使用如下命令:
            $ git merge --no-ff -m "merge with no-ff" dev 
                (通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
                  如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
                 )
     
        20.删除分支
            $ git branch -d dev
            强行删除一个分支:$ git branch -D dev
     
        21.查看分支合并情况
            $ git log --graph --pretty=oneline --abbrev-commit
     
        22.将还不能提交的现场存储起来
            $ git stash
     
        23.查看存储地点
            $ git stash list
     
        24.还原存储内容
            $ git stash pop 或 git stash apply
            备注:(用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
                    另一种方式是用git stash pop,恢复的同时把stash内容也删了)
     
        25.恢复指定地点的存储内容
            $ git stash apply stash@{0}
     
        26.查看远程库的信息
            $ git remote -v 或 $ git remote
     
        27.当你的小伙伴要在dev分支(非master分支)上开发,就必须在本地创建和远程分支对应的分支
            $ git checkout -b dev origin/dev  (如果报错,这么解决:git fetch origin)
     
        28.从本地推送分支
            $ git push origin branch-name
     
        29.从远程抓取分支
            $ git pull
     
        30.创建本地分支和远程分支的链接关系解决pull失败
            $ git branch --set-upstream-to=origin/dev dev
     
        31.创建标签             或者        创建带有说明的标签,用-a指定标签名,-m指定说明文字
            $ git tag <name> 或者        $ git tag -a v0.1 -m "version 0.1 released" 3628164
     
        32.查看所有标签      或者       查看标签信息
            $ git tag         或者        git show <tagname>
     
        33.给历史版本打标签
            $ git tag v0.9 <commit id>
     
        34.删除标签
            $ git tag -d v0.1
            备注:(如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除,
                        $ git tag -d v0.9
                        再从远程删,
                        $ git push origin :refs/tags/v0.9
                    )
     
        35.推送某个标签到远程
            $ git push origin <tagname>
     
        36.一次性推送全部尚未推送到远程的本地标签
            $ git push origin --tags
     
        总结:
        多人协作模式步骤:
            1.先将文件夹初始化成git本地库
                $ mkdir testgit
                $ cd testgit
                $ git init
            2.为该本地库关联一个远程库
                $ git remote add origin https://github.com/jhscpang/learngit.git
            3.如果不用默认的master分支开发,则要新建分支(例如dev分支),并且该新建的分支要和远程库的相对应的分支建立关联(因为本地库到最后要和远程库同步)
                $ git checkout -b dev origin/dev
                (此时要是报错,则使用命令 $ git fetch origin解决,
                  并再次输入git checkout -b dev origin/dev一次)
            4.(上面成功后,此时已经在dev分支上),克隆远程库里的内容
                $ git clone https://github.com/jhscpang/learngit.git
            5.对文件进行操作(例如vim test.txt),然后将修改了的文件从工作去添加到本地库的暂存区
                $ git add test.txt
            6.将暂存区的文件提交到本地库
                $ git commit -m "add test.txt"
            7.将本地库的分支推送到远程库对应的分支,实现同步
                $ git push origin dev
            8.如果push时遇到冲突,则将远程库的的新内容pull到本地,再修改完冲突后,重新做5-7步
                $ git pull
            9.如果pull出错no tracking information,则说明本地分支和远程分支的链接关系没有创建,输入如下命令解决,然后再pull就可以了
                $ git branch --set-upstream-to=origin/dev dev
  • 相关阅读:
    SRM146 DIV1 600
    SRM145 DIV1 1000
    SRM146 DIV1 300
    SRM145 DIV1 600
    【HTML打卡】0115 margin重叠、内联元素、css控制段落
    【HTML打卡】0114 盒模型margin、border、padding
    【HTML打卡】0113 div布局,css控制
    【HTML打卡】0112-html发展、doctype声明
    Machine Learning结课感想
    【ACM打卡】ZOJ 1045 2722 2830
  • 原文地址:https://www.cnblogs.com/superpang/p/5206742.html
Copyright © 2020-2023  润新知