• Git 第二篇:基本操作


    Git的基本操作主要是创建本地库、增加内容,提交修改 ,并把修改同步到远程库,常用的命令是git clone、git checkout、git commit、git push、git pull等。

    一,创建本地库

    本地库(Repository)是一个目录,这个目录里面的所有文件都可以被Git管理起来,Git跟踪目录中每个文件的修改和删除,以便在将来某个时刻可以“还原”。

    1,创建新的本地代码库

    创建一个版本库其实就是创建一个空目录,并使Git管理该目录。

    # 在当前目录新建一个Git代码库
    $ git init
    
    # 新建一个目录,将其初始化为Git代码库
    $ git init [project-name]

    Git 使用 git init 命令来初始化一个版本库,Git 的很多命令都需要在版本库中运行,所以 git init 是使用 Git 的第一个命令。

    2,复制远程库

    如果要从远程库中下载代码到本地,可以直接克隆一个远程库:

    git clone [url]

    使用 git clone 从现有 Git 仓库中拷贝代码到本地库。

    在执行完成 git init / clone 命令后,版本库中会自动生成一个 .git 目录,该目录包含了资源的所有元数据,其他的目录保持不变。

    在本地库创建完成之后,就可以使用git 命令来对本地库进行修改和管理分支。

    二,增加、删除或移动文件

    在git中可以增加新文件,删除旧文件或者把文件移动到其他folder中。

    1,增加新文件

    git add 命令用于增加Git追踪的内容,把内容加入到本地代码库的索引当中

     git add file1 file2

    应该建立一个清晰的概念就是,git add 只是刷新了 Git 的跟踪信息,file1 和 file2 这两个文件中的内容并没有提交到 Git 的内容跟踪范畴之内。

    添加所有未跟踪文件用 

    git add -A

    添加所有未跟踪文件并且提交用 

    git commit -a

    2,文件的删除

    要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以用以下命令完成此项工作

    # 删除工作区文件,并且将这次删除放入暂存区
    git rm [file1] [file2] ...

    如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

    git rm -f <file>

    如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可

    # 停止追踪指定文件,但该文件会保留在工作区
    git rm --cached [file]

    3,文件的移动

    git mv 命令用于移动或重命名一个文件、目录、软连接。

    # 改名文件,并且将这个改名放入暂存区
    git mv [file-original] [file-renamed]

    三,提交修改

    提交内容到本地代码库使用 git commit命令,使用 -m 选项以在命令行中为该次提交添加注释:

    git add file1 file2
    git commit -m 'comments'

    如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步,命令格式如下:

    git commit -a

    或者使用  -am 选项,跳过git add,并为这一次提交添加注释:

    git commit -am 'comments'

    四,远程同步

    远程同步主要分为两部分:把修改推送到远程库,使用push命令;把远程库中的代码同步到本地库,使用fetch。pull命令是push命令和fetch命令功能的合并。

    # 下载远程仓库的所有变动
    $ git fetch [remote]
    
    # 取回远程仓库的变化,并与本地分支合并
    $ git pull [remote] [branch]
    
    # 上传本地指定分支到远程仓库
    $ git push [remote] [branch]
    
    # 强行推送当前分支到远程仓库,即使有冲突
    $ git push [remote] --force
    
    # 推送所有分支到远程仓库
    $ git push [remote] --all

    五,Git分支管理

     使用分支意味着你可以从开发主线上分离开来,在不影响主线的同时继续工作。

    1,创建分支命令

    新建一个分支,但依然停留在当前分支

    git branch (branchname)

    2,切换分支命令

    切换到指定分支,并更新工作区

    git checkout (branchname)

    当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

    3,删除分支命令

    git branch -d (branchname)

    4,合并分支命令

    你可以使用以下命令把指定的分支合并到当前分支中去:

    # 合并指定分支到当前分支
    git merge [branch]

    合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改。一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。

    step1:切换到主分支,当前分支是主分支

    git checkout master

    step2,把指定的分支合并到当前分支(主分支)

    git merge change_branch

    当把辅分支合并到 "master" 分支时,如果出现合并冲突,接下来就需要手动去修改它。

    step3,提交合并

    在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决,并使用git commit来提交分支的合并。

    git add solve_conflict
    git commit

    六,查看Git

    用户可以查看git的状态和提交的历史记录

    1,查看git的状态

    git status 以查看在你上次提交之后是否有修改,使用-s参数,以获得简短的结果输出,如果没加该参数,Git会输出详细的内容:

    git status -s

    执行 git diff 来查看执行 git status 的结果的详细信息。git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。

    git diff 有两个主要的应用场景。

    • 尚未缓存的改动:git diff
    • 查看已缓存的改动: git diff --cached
    • 查看已缓存的与未缓存的所有改动:git diff HEAD
    • 显示摘要而非整个 diff:git diff --stat

    2,查看提交的历史

    使用git log 命令查看提交的历史

    # 显示当前分支的版本历史
    git log
    # 显示commit历史,以及每次commit发生变更的文件
    git log --stat
    # 搜索提交历史,根据关键词
    git log -S [keyword]

    参考文档:

    GIT 常用命令

  • 相关阅读:
    Linux系统备份与恢复
    CentOS7修改设置静态IP和DNS
    CentOS系统基础优化16条知识汇总
    CentOS英文提示修改为中文提示的方法
    CentOS修改主机名和网络信息
    CentOS 7系统查看系统版本和机器位数
    Linux下设置SSH Server设置时间链接限制
    查看Linux下系统资源占用常用命令(top、free、uptime)
    查看CentOS系统运行了多久使用uptime命令
    设计模式(七)学习----命令模式
  • 原文地址:https://www.cnblogs.com/ljhdo/p/4811096.html
Copyright © 2020-2023  润新知