• git 常用命令


    git 常用命令

    作者wind-zhou

    邮箱:zhouzheng5210@163.com

    学习链接https://www.liaoxuefeng.com/wiki/896043488029600/

    (1)配置账户 (git config)

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    作用:因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

    (2)创建git仓库 (git init)

    1. 建立文件夹
    2. 初始化git仓库
    $ git init
    Initialized empty Git repository in C:/Users/zhouzheng/Desktop/reactDaynote/.git/
    

    (3)添加文档到暂存区 (git add)

    在该仓库中创建reactTest.txt文件,并提交至暂存区。

    $ git add reactTest.txt
    

    (4)提交暂存区的文件到仓库 (git commit)

    $ git commit reactTest.txt  -m "第一次提交"
    [master (root-commit) 8dac04b] 第一次提交
     1 file changed, 3 insertions(+)
     create mode 100644 reactTest.txt
    

    为什么Git添加文件需要addcommit一共两步呢?

    因为commit可以一次提交很多文件,所以你可以多次add不同的文件

    版本回退

    mark

    查看提交历史纪录(git log)

    版本回退针对于多次提交多个版本后,所以首先要提交多个版本。

    继续重复之前的步骤,就可以将修改后的版本再次提交。

    zhouzheng@DESKTOP-LEV8BNU MINGW64 ~/Desktop/reactDaynote (master)
    $ git add reactTest.txt
    
    zhouzheng@DESKTOP-LEV8BNU MINGW64 ~/Desktop/reactDaynote (master)
    $ git commit reactTest.txt  -m "第二次提交"
    [master 4f5d789] 第二次提交
     1 file changed, 2 insertions(+), 1 deletion(-)
    

    此时查看提交记录:

    $ git log
    
    commit 4f5d789fce44dfdb135a5cd2915bd136071f05d5 (HEAD -> master)
    Author: wind-zhou <zhouzheng5210@163.com>
    Date:   Thu Apr 8 14:49:04 2021 +0800
    
        第二次提交
    
    commit 8dac04b94ab43b2f63f27df8ed24c23bb106512a
    Author: wind-zhou <zhouzheng5210@163.com>
    Date:   Thu Apr 8 14:42:10 2021 +0800
    
        第一次提交
    
    

    回退到之前的记录

    (1)单步回退

    $ git reset --hard HEAD^
    HEAD is now at 8dac04b 第一次提交
    

    这就 跳回了上个版本。

    上一个版本就是HEAD^,上上一个版本就是HEAD^^

    (2)指定版本id回退

    通过commit id值回退

    $ git reset --hard 4f5d
    HEAD is now at 4f5d789 第二次提交
    

    这样就又跳了回来。

    不过前提是你得记住上次版本的commit id,因为你版本回退后,使用git log 就看不到被撤销版本的id了。

    撤销操作

    (1) 将工作区撤销(git checkout -- file)

    $ git checkout -- reactTest.txt
    

    (2)将暂存区撤销 (git restore --staged file )

    $ git add index.html     //将新文件加入暂存区
    
    $ git restore --staged index.html   //撤销暂存区
    

    若已经提交到仓库,则只能版本回退。

    远程仓库

    添加秘钥

    由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

    第1步:创建SSH Key。

    在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"
    

    第2步:登陆GitHub,添加SSH key

    打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

    为什么GitHub需要SSH Key呢?

    因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

    关联远程仓库

    将本地仓库和远程仓库相关联

     git remote add origin git@github.com:wind-zhou/reactDaynote.git
    
    • 查看当前关联的仓库 git remote -v

    • 删除远程库 $ git remote rm origin

    推送内容到远程仓库

    $ git push -u origin main
    

    : 参数说明

    • 第一次添加时需要加上-u 参数,之后就可以不用加了

    • main是指推送到远程的主分支。

    • 关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;

    从远程仓库拉取内容

    git clone git@github.com:wind-zhou/reactDaynote.git
    

    如果远程仓库有一个dev分支,则我们在本地可能需要在clone后根据远程的dev生成本地的dev

    git checkout -b dev origin/dev
    

    分支管理

    创建分支

    创建名为dev的分支

    git branch dev
    

    切换分支

    切换到 dev分支

    git checkout dev
    

    上面的两步操作可以合并:

    首先,我们创建dev分支,然后切换到dev分支:

    $ git checkout -b dev
    

    查看当前的分支:git branch

    注:新版本中,可以使用 git switch master来切换分支,更有语义化。

    合并分支

    下面在主分支main上合并子分支dev

     git merge dev
    

    删除分支

    合并完之后就可以删除掉子分支。

     git branch -d dev
    

    总结篇——git本地仓库上传更新到github

    一、将需要上传的文件放到一个新建的文件夹下

    二、右击找到Git Bash Here,弹出git命令框

    三、初始化git

      $git init

    四、将文件添加到本地仓库

      $git add --all

    五、提交到本地仓库

      $git commit -m "首次提交"

    六、与GitHub上的分支建立链接

      $git remote add origin https://github.com/*****/shop.git

    七、将刚刚提交的文件推送到GitHub上

      $git pull --rebase origin master

      $git push -u origin master -f

    生活是一首长长的歌!
  • 相关阅读:
    工具
    选择排序
    c#中queue的用法
    c#加密
    话谈c#拷贝
    const与readonly的区别
    WinForm中使MessageBox实现可以自动关闭功能
    c#winform关闭窗口时触发的事件
    委托
    C# STA和MTA线程设置
  • 原文地址:https://www.cnblogs.com/wind-zhou/p/14843053.html
Copyright © 2020-2023  润新知