zoukankan      html  css  js  c++  java
  • git 常用命令

    git clone git@192.168.1.155:web.git   克隆创建好的 git

    git log  查看日志

    git add .  增加文件

    git status 查看状态
    git add -u  修改文件
    git commit -m '第一次提交'

    git revert HEAD  还原之前的提交

    git branch phoenix   创建分支 phoenix

    git checkout phoenix  切换分支

    git checkout -b phoenix  合起来这么写

    git checkout master  切换master分支
    git merge phoenix   合并分支
    git remote add origin https://github.com/xxxx/xxxx

    git push -u origin master

    以上两条为推送到远程 github

    git push --force

    强制推送

    git remote rm origin 
    git remote add origin  https://github.com/xxxx/xxxx

    .git  更换远程仓库

    git 牵出版本库 两个版本差异的 部分 defd8065e841dd465d4de261f985717b10c11cb0 上一个 72dccfa70d8b2c5a31420174a104cbfedbd82840 下一个

    git archive -o ../upload.zip 72dccfa70d8b2c5a31420174a104cbfedbd82840 $(git diff --name-only   defd8065e841dd465d4de261f985717b10c11cb0  72dccfa70d8b2c5a31420174a104cbfedbd82840)

    导出一个版本的一个目录或者一个文件到一个压缩包

     git archive -o ../sss.zip    001950  template/default   

     

    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 branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

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

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

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

    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]

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

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

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

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

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

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

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

    target

    bin

    *.db

    问题:.gitignore只适用于尚未添加到git库的文件。如果已经添加了,则需用git rm移除后再重新commit 

    删除文件

    直接在工作区删除,对暂存区和版本库没有任何影响。本地删除如果要反映在暂存区中应该用git rm命令,对不想删除的文件执行git checkout -- <file>,可以让文件在工作区重现。用git rm命令执行删除后,删除动作加入了暂存区,这时执行提交动作就从真正意义上执行了文件删除,不过文件只是在版本库的最新提交中被删除了,在历史提交中尚在。

    $ git add -u  将本地有改动(包括修改和删除)的文件标记到暂存区。

    恢复删除的文件

    $ git cat-file -p HEAD^:test.txt > test.txt 从前一提交中恢复test.txt文件

    $ git show HEAD^:test.txt > test.txt 效果相同

    $ git checkout HEAD^ -- test.txt 也可以

    $ git add -A 将工作区的所有改动及新增文件添加到暂存区

    然后执行commit操作,则文件被恢复

    移动文件(改名操作)

    改名操作相当于对旧文件执行删除,对新文件执行添加,git mv可以由git rm和git add两条命令取代

    $ git mv oldname newname 完成改名操作

    查看版本号

    $ git describe 查看当前版本号

    git log命令的--decorate参数可以在提交ID的旁边显示该提交关联的引用(里程碑或分支)

    选择性添加文件

    $ git add -i可以进入一个交互式界面操作

    文件忽略功能

    若把编译的目标文件及其他临时文件加入版本库中,浪费存储空间不说,甚至还会造成冲突。

    可以创建一个.gitignore文件,其作用范围是所处目录及其子目录,编辑好要忽略的文件,然后添加到版本库中。如果不希望添加到库里,也不希望.gitignore文件带来干扰,可以在忽略文件中忽略自己。

    被忽略以后,只有使用git status命令的--ignore参数,才会在状态显示中看到被忽略的文件。添加时git add -A和git add .都失效,只有在添加操作的命令行中明确写入文件名并提供-f参数才能真正添加。忽略只对未跟踪文件有效,对于已加入版本库的文件无效。

    文件.gitignore设置的文件忽略是共享式的。之所以被称为“共享式”,是因为.gitignore被添加到版本库后成为了版本库的一部分,当版本库共享给他人(克隆),或者把版本库推送(PUSH)到集中式的服务器或他人的版本库时,这个忽略文件就会在他人的工作区中同样生效。相对应的是独享式,有两种方式:

    第一种是针对具体版本库的,即在版本库.git目录下的一个文件.git/info/exclude来设置文件忽略;

    另一种是全局的,即通过Git的配置变量core.excludesfile指定的一个忽略文件,其设置的忽略对所有本地版本库均有效。

    如果文件忽略对于所有使用此版本库工作的人都有益,就通过在版本库相应目录下建一个.gitignore文件建立忽略;否则,如果是需要忽略工作区中创建的一个试验目录或试验性的文件,则使用本地忽略。

    忽略语法:

    忽略文件中的空行或以#开始的行会被忽略

    可以使用通配符,参见Linux手册:glob(7)

    如果名称的最前面是一个路径分割符(/),表明要忽略的文件在此目录下,而非子目录的文件

    如果名称的最后面是一个路径分割符(/),表明要忽略的是整个目录,同名文件不忽略,否则同名的文件和目录都忽略

    通过在名称的最前面添加一个感叹号(!),代表不忽略

    文件归档

    git archive命令,可以对任意提交对应的目录树建立归档。

    $ git archive -o latest.zip HEAD  基于最新提交建立归档文件latest.zip

    $ git archive -o partial.tar HEAD src doc  只把目录src和doc建立到归档partial.tar中

    $ git archive --format=tar --prefix=1.0/ v1.0 | gzip > foo-1.0.tar.gz  基于里程碑v1.0建立归档,并且为归档中的文件添加目录前缀1.0

    在建立归档时,如果使用树对象ID进行归档,则使用当前时间作为归档中文件的修改时间,而如果使用提交ID或里程碑等,则使用提交建立的时间作为归档中文件的修改时间。

    如果使用tar格式建立归档,并且使用提交ID或里程碑ID,还会把提交ID记录在归档文件的文件头中。记录在文件头中的提交ID可以通过git tar-commit-id命令获取。

    如果希望在建立归档时忽略某些文件或目录,可以通过为相应文件或目录建立export-ignore属性加以实现。

  • 相关阅读:
    Docker 文档编译
    Docker CentOS 安装方法
    Docker CentOS 安装要求
    Docsify 的文档页面标题在那里设置
    Docsify 的 GitHub 链接在那里设置的
    GitHub 中如何启用 GitHub Pages 中的子域名
    Spring API 的 CORS 测试 提示错误 Reason: header ‘authorization’ is not allowed
    Spring API 的 CORS 测试
    CentOS 7 安装 JDK 11
    Postman API 获得文件如何保存
  • 原文地址:https://www.cnblogs.com/xiaoli3007/p/4091795.html
Copyright © 2011-2022 走看看