• git的入门使用


    lab使用的是gitlab作为项目管理,说实话,因为我之前的工作没有涉及到git,所以git这一块的知识我也是从零开始学,学习了一天后,大致摸索得到了git的基本用法。我的系统为ubuntu,下面都是在ubuntu上的工作。

    git的安装

    在开始安装之前,建议弃用apt install的安装方式,改用aptitude install,这样可以解决安装时依赖缺失的问题。

    git的安装网上有教程大同小异,值得注意的是,如果你需要vscode作为默认编辑器,在安装完毕后,输入

    git config --global -e
    

     将config中core选项中改为

     按照要求输入用户名和邮件即可。

    gitlab是私有的代码仓库,所以你必须将自己的ssh秘钥和gitlab关联。

    秘钥一般在 C:/user/username/.shh/id_sra.pb 中保存,linux在用户文件夹下.ssh中保存

    git的使用

    如果对某个项目有权限,直接clone到本地,如果没有权限,先将其fork到自己的代码仓库中,再将fork的项目clone下来。

    git clone git@codexxxxxxxxxxxxxxx
    

     git到本地的项目已经初始化了,不要再用git init了

    对文件修改后,需要及时进行commit:

    git add fuck_git.md
    git commit -m "fuck git!"

    如果你想建立一个备份,可以试一试分支,分支就是将相当于一个树杈,你的工作在分支处进行了分叉。

    git checkout -b  <branch_name>

    撤销提交

    git log # find commit id
    git revert commit_id
    或者直接
    git revert HEAD

    撤销一次撤销,就是再一次revert:

    git revert HEAD # revert once
    git revert HEAD #revert the revert
    

     远程合作开发

    当你写好代码后,你肯定想push到你的远程仓库,我们用push命令:

    git push origin <本地分支名>:<远程分支名>
    

      origin 是你的远程仓库名,在clone项目时,git帮你把它取名为origin,当然你可以用remote命令进行改名。

    但是问题来了,你发现你push不上去,有报错:

    ! [rejected] brc -> br (fetch first)
    error: failed to push some refs to 
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.

    提示,你需要fetch一下,为啥呢?因为你的远程仓库中的该分支已经前进了,换而言之就是该仓库的该分支在

    你clone后已经更新了,可能是你的其他分支将它更新的,也有可能是其他开发者将它更新的,总之,它已经不是原来的分子了。

    所以在执行push命令前,需要执行fetch命令:

    git fetch origin <远程分支名> #拉取该远程分支
    git checkout origin/<远程分支名> #你当然想看看更新的远程分支里有啥
    git checkout <本地分支> #你已经看好了,所以回到本地分支
    git merge origin/<远程分支> #于是你将更新的内容添加到你的本地分支内
    

     实际代码中分支名不需要加<>,请不要画蛇添足。

    执行完一系列操作后,再push一次

    git push origin <本地分支名>:<远程分支名> 

    提示:Everything up-to-date

    恭喜你,你已经完全会用git了。

  • 相关阅读:
    设计高效SQL: 一种视觉的方法
    由于学校要两张2寸的照片,蓝底,所以下午课就去后面照相打印店去了
    如果一个事情总在同一个地点停留,就是没有执行效率
    我也是不得不说我的学习能力下降了,这两天都没有完成一个模块
    我也是不得不说我的学习能力下降了,这两天都没有完成一个模块
    就好像是回到了高中时候。没有什么感受
    今天中午还收到了,一条诈骗短信,说是中奖了
    今天晚上的主要事项是,完成上午考试所有不清楚的地方
    今天中午的时候,可能是自己太忙过头了,所以出现了拿错卡去充值
    项目并没有采用一端服务器做法,我也没有弄清楚原因
  • 原文地址:https://www.cnblogs.com/kalicener/p/15253965.html
Copyright © 2020-2023  润新知