【学习琐记】git入门中...

Git入门

0. Motivation

最初目的

  • 想要commit记录每次的代码更新,同时需要简洁高效的回滚。
  • 学习一下经验丰富的程序员的git习惯。

1. 资源

磨刀不误砍柴工

  1. 书籍:Pro Git
    在某高赞评论区找到的一本书。打算先看中文版。毕竟我英文的阅读速度还没那么快,现在时间又不多但急需上手,没必要拿这件事练习英语,所以啃啃母语版,感觉会快一下。
  2. 入门:去b站随便搜个入门视频
    对git和常见指令有一个整体、初步、感性认识。相当于写个hello world

2. Git初体验之Hello World

2.1 创建代码仓库

  1. 克隆别人的仓库
    git clone repo_url
  2. 创建自己的仓库
    a. 创建本地仓库文件夹,并进入这个文件夹
    mkdir my_repo
    cd my_repo
    b. 初始化仓库
    git init
    c. 这时会在当前文件夹my_repo下创建一个.git文件

2.2 增改代码并传到仓库

  1. 创建一个hello_world.py文件
print("Hello World")
  1. 把我们修改的内容提交到暂存区,当前的改动被git追踪了
    git add hello_world.py
    或是提交追踪所有的文件
    git add .
  2. 查看每个文件的追踪状态
    git status
    红色:文件未被追踪
    绿色:文件被追踪
  3. 正式提交记录
    git commit -m "hello world"
  4. 查看修改记录
    git loggit log --stat
    每个修改会有一长串字符,这就是commit id
  5. 通过commit_id查看某次提交的具体修改
    git diff {commit_id}
  6. 回滚到某次修改
    git checkout {commit_id}

    git reset --hard {commit_id}
    TODO:两条命令的具体实现有区别,等我查了再补充

2.3 branch

git可以看作一个树状结构,从一个头节点出发引出多个分支,这些分支可以通过git branch查看。

每次commit则是在当前分支上新建一个节点。这些节点也就是修改记录可以通过git loggit log --stat查看(2.2.4)。

初始化创建的branch一般名字是master,但github因为某些zzzq的原因改成了main。所以如果我们想和github保持一致,方便后续连接使用github方便,那么就有了第一个需求:为当前branch改名。

  1. 重命名当前branch
    git branch -m main

那么如果我们想创建一条新的分支,比如develop

  1. 创建新分支
    git branch -b develop

  2. 切换当前分支
    git checkout main
    也就是git checkout可以直接切换到某个commit节点,也可以切换到某条branch。

  3. 合并分支
    比如把develop分支合并到mian主分枝上:
    首先把当前分支切换到mian分支
    git checkout main
    然后合并
    git merge develop

2.4 远端仓库

my_repo文件夹是我们本地的local仓库,如果我们想把它传到远端的remote仓库(比如Github)需要:

  1. 连接远端仓库
    TODO
  2. 把本地代码推上去
    git push origin my_branch
  3. 代码合并
    create pull request和merge pull request
  4. 把远端代码拉下来
    比方说我要(确认一下)把代码拉到主分枝main
    git checkout main
    拉取远端代码
    git pull origin main

to be continue

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值