Git入门(保姆级教程)

一,git下载

下载地址: Git - Downloads (git-scm.com)

 选择对应的版本进行下载,下载完成后安装,一直点击next即可。

二,git的使用

 1,工作流程

Git本地操作的3个区域:

    Git Repository(Git仓库)   :最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见

   暂存区 :           暂存已修改的文件最后统一交到git仓库中

  工作区 :           添加,编辑修改文件等操作

 2,本地仓库操作

      仓库又名版本库,英文名repository,我们可以简单理解为一个目录,用来存放代码,这个目录里的所有文件都可以被Git管理起来,每个文件的修改,删除等操作Git都能跟踪到。

1,在安装好首次使用需要进行全局配置,桌面空白处点击右键,点击“Git Bash Here”以打开Git命令行窗口

$ git config --global user.name "用户名"

$ git config --global user.emal "邮件地址"

用户名和邮件地址推荐使用github的用户名和邮件地址

2,创建仓库

创建仓库时的目录不一定要求是空目录,但初学建议使用空目录(不要使用包含中文的目录名)。

 a.创建空目录

    可以直接在桌面创建一个目录,也可以用命令$ mkdir 目录名

b.在命令行中进入项目目录

   用命令$ cd 目录名

 c.Git仓库初始化(让Git知道,它需要来管理这个目录)

    用命令 $ git init

   打开文件夹点击查看在勾选隐藏的项目,可以发现多了一个.gti文件

 .git目录不能删除也不能随意更改里面的内容

3,git常用指令操作

    查看当前状态:git status

      因为我们还没有写代码进去所以查看的状态是

   我们可以新建一个readme.txt文件

添加到缓存区:git add 文件名

         说明:git add 指令可以添加一个文件,也可以同时添加多个文件。

         语法1:git add 文件名

         语法2:git add 文件名1 文件名2 文件名3 ......

         语法3: git add.   [添加当前目录到缓存区中]

    

 提交至版本库:git commit -m "注释内容"

   

 这时readme.txt就保存到仓库中了,如果我们又新建了一个文件index.html又可以同样的操作一遍

 

index.html文件又被我们放进仓库了。后面我们修改了文件中的内容又要重新按照这个方法提交一遍,注释中写“修改了xxx文件”(重复使用git add 与git commit 指令即可)

 三,回退到以前的版本

    版本回退分为两步操作:

   1,查看版本,确定需要回到的时刻点

               指令:git log

                         git log --pretty=oneline  (推荐使用)

git log结果:

  git log --pretty=oneline结果:

黄色字符是版本号 白色字符是注释

   2,回退操作

             指令:git reset --hard 版本号

比如我想回到创建第一个文件readme.txt的时候。

 选中版本号点击鼠标右键点击copy,再输入命令$ git reset --hard再点击鼠标右键paste

回到了开始只有readme.txt的时候,注意:回到过去之后,想要再回到最新的版本的时候,需要用指令区查看历史操作,以得到最新的commit id

          命令:git reflog

 注意事项:

            a.要想回到过去必须得到commit id 然后通过git reset --hard 进行回退

            b.要想回到未来必须使用git reflog 进行历史操作查看,得到最新的commit id;

            c.在写回退指令的时候commit id不用写全,git可以自动识别,但至少写前4位字符

 3,gtihub远程仓库

      1.新建远程仓库

             在github中点击+号新建一个仓库,填写信息

 2.两种常规使用方式(ssh方式类似于http协议)

    <1>基于http协议

          a.创建空目录,名字叫shop并进入

               

           b.使用clone指令线上仓库到本地

              语法:git clone 线上仓库地址

点击code可以查看线上仓库地址

        

 

克隆好了

     c.在仓库上做对应的操作(提交暂存区,提交本地仓库,提交线上仓库,拉取线上仓库

提交到线上仓库的指令:git push 

        比如我修改readme文件后提交到远程仓库

在2021年8月13之前我们可以这样 

用记事本打开.git文件中的config文件,将url改为:在http://后添加github的用户名:密码@后面接上github.com.....

再执行git push 但是2021年8月13号就不能用密码了,只能用个人生成码

1,点击setting

 2,点击左侧下方Develop Setting

3,点击personal 

就生成了个人码

 在git中输入

git remote set-url origin https://获得的个人通道码@github.com/(confg文件中的url)

 

 连上了,输入指令:git push

 push成功

 

可以看见github远程仓库更新 

点击add new file 可以创建文件

 可以看见我新建了一个index.php文件,但此时我本地仓库还没有index.php文件

那么我要拉取线上仓库的index.php到本地仓库,用到的指令是git pull

 可以看见已经从线上拉到了本地。

   提醒:每天开始工作第一件事 git pull拉取线上最新版本,每天结束工作前要git push将本地代码提交到线上仓库

4,分支管理

  每次提交都会有记录,git把他们串成时间线,类似于时间轴,这个时间轴就是一个分支,称之为master分支,团队开发光有一个是分支不够的,需要我们使用分支去完成一些开发任务

  分支相关指令:

    查看分支:git branch

    创建分支:git branch 分支名

   切换分支:git checkout 分支名

   删除分支:git branch -d 分支名

   合并分支: git merge 被合并的分支名

查看分支:

 * 表示当前分支

创建分支:

切换分支:

 将dev分支内容与main分支合并:

 注意点:删除分支时候,一定要退出要删除的分支,然后才能删除。

### TorchQuantum 教程 #### 安装与配置 为了安装并配置 TorchQuantum 环境,有两种主要的方法可供选择。一种是通过 Git 克隆仓库来获取最新版本的源码,并利用 `pip` 工具来进行本地安装: ```bash git clone https://github.com/mit-han-lab/torchquantum.git cd torchquantum pip install --editable . ``` 这种方法允许开发者直接参与到项目的开发过程中去[^1]。 另一种方式则是采用预编译好的二进制文件进行安装,不过具体命令未在此提供,可能需要查阅官方文档获得更多信息。 #### 使用入门 对于拥有 Python 和 PyTorch 编程经验的人来说,TorchQuantum 的 API 设计非常友好,使得这类用户可以迅速掌握其基本操作和功能特性[^2]。下面是一个简单的例子展示如何创建量子电路以及执行模拟计算过程: ```python import torchquantum as tq from torchquantum import QuantumDevice, qubit_init_x n_wires = 4 dev = QuantumDevice(n_wires=n_wires) # 初始化量子比特状态 qubit_init_x(dev) print(f"Initial state:\n{dev.get_states_1d()}") ``` 这段代码展示了怎样初始化一个四量子位设备,并将其设置到特定的状态向量中;最后打印出当前系统的波函数表示形式。 #### 进阶应用实例 除了基础的操作之外,TorchQuantum 支持更复杂的模型搭建,比如变分量子分类器(VQC),它是一种结合经典优化算法与参数化量子线路(PQC)结构的经典-量子混合模型,在解决某些类型的监督学习任务方面表现出色。以下是 VQC 构建的一个简化版实现片段: ```python class VQCLayer(tq.QuantumModule): def __init__(self, n_qubits=4, depth=2): super().__init__() self.n_qubits = n_qubits self.depth = depth layers = [] for _ in range(depth): layer = [ tq.RX(has_params=True), tq.CNOT(wires=[i % (n_qubits - 1), (i + 1) % n_qubits]) for i in range(n_qubits)] layers.extend(layer) self.layers = nn.ModuleList(layers) def forward(self, q_device: QuantumDevice): ... ``` 此部分仅作为概念性的介绍,实际编写时还需要考虑更多细节问题,例如参数更新机制、损失函数定义等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝味啊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值