zoukankan      html  css  js  c++  java
  • GIT使用心得

    Git是一种分布式版本控制系统。Git的数据不止保存在服务器上,同时也完整的保存在本地计算机上,这种特性带来许多便利,比如你可以在完全离线的情况下使用Git,随时随地提交项目更新,而且你不必为单点故障过分担心,即使服务器宕机或数据损毁,也可以用任何一个节点上的数据恢复项目,因为每一个开发节点都保存着完整的项目文件镜像。

    分区情况:

    • workspace:本地工作区
    • staging area:本地仓库暂存区/缓存区
    • local repository:或本地仓库
    • remote repository:远程仓库

    一、本地仓库使用

    1、git init

    使用该命令初始化git本地仓库

    完成后会多出一个隐藏文件.git,这个目录存放的是本地库相关的文件。

    2、git status

    查看当前工作区状态

    3、touch 或 vim创建文件

    4、git add filename

    将修改过的文件添加到暂存区

    5、git commit -m "描述信息"

    将暂存区的文件提交到本地仓库

    6、git log

    查看日志,版本信息。

    7、git reset

    • git reset –mixed
      不回改变工作区,但是会用指定的commit覆盖暂存区,之前所有暂存的内容都变为未暂存的状态
    • git reset –soft
      不会改变暂存区,仅仅将commit回退到了指定的提交
    • git reset –hard
      使用指定的commit的内容覆盖暂存区和工作区。
    • git revert
      撤销某次操作,此次操作之前和之后的 commit 和 history 都会保留,并且把这次撤销作为一次最新的提交
    使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么只有一条时间线,即只有一个分支,在Git里,这个分支叫主分支,即master分支。有一个HEAD指针指向当前分支(只有一个分支的情况下会指向master,而master是指向最新提交)。每个版本都会有自己的版本信息,如特有的版本号、版本名等。
    git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,假设我们要回退到版本一,回退之后只保留版本一。

    二、远程仓库使用

    1、git clone

    从远处仓库拷贝文件

    2、git remote -v

    可以查看远程仓库的链接地址

    3、创建并提交文件

    4、git push

    将本地仓库的相关数据对象推送到远程仓库

    5、git pull

    在远程仓库上删除文件bbb.txt,然后将远程仓库的更改同步到本地仓库

    三、分支合并

    1、git branch

    查看所有分支,有“*”表示当前分支

    2、git checkout -b branchname

    创建新分支

    3、git branch --set-upstream-to=origin/main main

    将本地main分支与远处分支建立联系

    4、git merge

    合并分支

    四、git rebase

    场景四实际就是在场景三团队项目工作流程中增加一步Git Rebase,即在mybranch分支上完成自己的工作之后,为了让 log 记录将来更容易回顾参考,用 git rebase 重新整理一下提交记录。注意不要通过rebase对任何已经提交到远程仓库中的commit进行修改。

    git rebase命令格式大致如下:

    键入命令git rebase -i head^^^(^的个数代表前几条记录)

    五、总结

    至此,我们由简单到复杂、从实际操作到背后的基本原理,并通过命令行的方式给出了实际操作的步骤,在四大场景下给出了Git的参考用法。

    通过老师的讲解,我们知道了如何初始化本地库,进行本地库的基本操作;如何创建远程库,远程库和本地库是如何交互的。

    Git仓库管理的各种实现细节是非常重要的,在操作工程中我也遇到了许多的问题和BUG,但是一系列操作让我受益良多,希望大家共同学习,掌握Git这一得力工具!

  • 相关阅读:
    MATLAB的一个FFT程序
    anyway,gnuradio需要学习python,so let us start
    《dinv into python》开始了解python
    Oracle 多表 连接 顺序 与 性能关系 测试
    MySQL 和 PostgreSQL 对比
    Oracle Mutex 机制 说明
    Oracle 大规模 delete,update 操作 注意事项
    oracle 11g 新特性 Flashback Data Archive 说明
    Oracle PL/SQL 优化与调整 Bulk 说明
    Oracle 判断 并 手动收集 统计信息 脚本
  • 原文地址:https://www.cnblogs.com/tomyu123/p/13815241.html
Copyright © 2011-2022 走看看