学习使用Git

目录

简介

github 配置

本地配置

本地 与 远端 的连接

 本地分支管理

其他待续


  • 简介

  1. Git是分布式版本控制系统;
  2. GitHub是一个免费的提供Git仓库托管服务的服务器。

 

  • github 配置

  1. 登录GitHub官网 github.com
  2. 注册新用户,需要使用个人邮箱
  3. 注册成功后,登录,并进入个人主界面
  4. 在主界面的右上角,点击“+”,选择“New repository”创建库
  5. 在“Repository name”中输入库的名字
  6. 在“Description (optional)”中可以选择性的输入所创建的库的一些描述性介绍
  7. 默认选择“Public”选项
  8. 可以勾选“Initialize this repository with a README”,创建README文件,增加更详细的库介绍
  9. 可以配置选择“.gitignore”文件,配置Git中哪些文件不需要添加到版本管理中
  10.  

 

  • 本地配置

  1. 下载并安装“Git”软件,用于本地与github服务giinit $ sudo apt update

    1.  $ sudo apt install git

    2.  $ git --version

  2.  $ mkdir ~/git/   创建本地工作目录

  3.  $ cd ~/git/    切换到该工作目录

  4.  $ git init       初始化一个本地git仓库  

  5.  在本地管理与控制文件

    1.   $ git add <file_name>  添加文件到stage区,可多次重复使用

    2.   $ git add .       把工作区下的所有文件添加文件到stage区

    3.   $ git commit -m <message>   把stage区中的文件提交到当前分支区(默认为master区)

    4.   $ git status       查看git状态

    5.   $  git diff  命令查看发生了什么修改

    6.   $  git diff HEAD  --  <file_name>   查看工作区版本库里面最新版本的区别

    7.   $ git log [--pretty=oneline]  显示从最近到最远的提交日志信息

    8.   $  reset --hard HEAD^      回退到上一个版本

    9.   $ git reset --hard commit_id  回到指定commit id的版本

    10.   $ git reset --hard <commit_id_num>        回到指定id的版本

    11.   $ git reflog        查看commit的id号

    12.   $ git checkout -- <file_name>     可以丢弃工作区的修改

    13.  $ git reset HEAD <file_name>   暂存区的修改撤销掉(unstage),重新放回工作区;还可以回退版本

    14.   $ git checkout  <file_name>    将工作区中已经删除的文件,从版本库中恢复出来

    15.   $ git clone https://github.com/Kukafe/GitLearning.git https://github.com中的github仓库                                           (GitLearning.git)克隆到本地工作区

    16.   

  6. 注意事项

    1. 在Git中,用HEAD表示当前版本,也就是最新的提交版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本写成HEAD~100

    2. 提交修改和提交新文件是一样的两步:  git  add 和 add commit

    3. 工作区(Working Directory)就是你在电脑里能看到的目录,工作区有一个隐藏目录  .git

    4. 版本库(Repository):隐藏目录.git,这个不算工作区,而是Git的版本库

    5. 暂存区:在版本库中,暂存区被称为stage(或者叫index)。第一个分支为master,以及指向master的一个指针叫HEAD

    6.  

    7.  

    8.  git add把文件添加进暂存区,实际上就是把文件修改添加到暂存区(stage区);

    9. git commit提交更改,实际上就是把暂存区(stage区)的所有内容提交到当前分支(master区);

    10. 对于每次修改,如果不用git add到暂存区(stage区),那就不会加入到commit命令中去;

      1. 场景1:当改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

      2. 场景2:当不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

      3. 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考使用git reset --hard *****(**表示commit id 号)回到指定的版本一节,不过前提是没有推送到远程库。

    11. 手动删除工作区中的文件,还可以使用git rm <file>和git add<file>将删除的文件从版文库中删除

    12. 如果是误删,可使用 git checkout  <file_name> 从版本库中还原至工作区

  7.  

  • 本地 与 远端 的连接

  1.  git clone https://github.com/<username>/<name>.git 将GitHub中的GitHub仓库克隆到本地工作区
  2.  $ git clone git@github.com:<username>/<name>.git      将GitHub中的GitHub仓库克隆到本地工作区(同1)
  3.  $ ssh-keygen -t rsa -C <email>     点击几次回车,默认密码为空,创建  ~/.ssh/id_rsa 文件,其中包含公钥(id_rsa_pub)和私钥文件,打开公钥文件,复制其中内容粘贴至GitHub个人主页(Settings -->  SSH and GPG keys --> New SSH key --> key)中,即可完成Git连接GitHub。
  4.  $ git config --global user.name <name>      设置名字,设置自己git的名字,对于git这样的分布式版本控制系统,每个链接的机器都需要自报家门,说出你的名字,同理下面设置邮箱。使用 --global 参数是对于使用本台机器的所有用户都将使用同一个名字,同理设置的邮箱。
  5.  $ git config --global user.email <email>       设置注册邮箱
  6.  $ git config -l      列出本台机器的名字和邮箱
  7. 重新输入.的登录密码即可完成配置
  8.   $ ssh -T git@github.com    验证连接是否成功 ,第一次连接需要确认“continue”,..  最终显示:“Hi ****! You've successfully authenticated, but GitHub does not provide shell access.”表示已成功连上github。
  9.  $ git remote add origin git@github.com:<usrname>/[path]/<name>.git   把本地的仓库和GitHub上的<name>.git仓库相关联
  10.  $ git push -u origin master   首次把本地仓库内容推送到GitHub仓库中(把当前分支master推送到远程GitHub)
  11.  $ git push origin master      把本地仓库内容推送到GitHub仓库中(把本地master分支的最新修改推送至GitHub)
  12.  
  •  本地分支管理

  1.   $ git branch -D <name>     删除没有合并和分支,此时为强行删除
  2.   $ git  branch dev                  创建新分支
  3.   $ git  checkout  dev             切换至新分支
  4.   $ git  checkout  -b  dev     完成创建新分支并切换到该分支
  5.   $ git  branch                         查看分支情况,并列出所有分支,其中带*的为当前分支,这个分支独立与其他分支
  6.   $ git  checkout master         从当前分支(若不在master分支)切换到master分支
  7.   $ git  merge  dev                合并某分支到当前分支
  8.   $ git branch -d dev             删除dev分支
  9.   $ git --graph                         查看分支合并图    
  10.   注意点
    1. 当Git无法自动合并分支时,就必须首先解决冲突(手动编辑为我们希望的内容)。解决冲突后,再提交合并完成。
    2.  
  11. 创建、合并、管理、删除分支

  12. <其他未尽事项待续>
  • 其他注意点​​​

  1. 新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下,再push就能成功了:
    1. $ git pull --rebase origin master   
  2. 昨天在本地创建的git仓库,可是在使用 push 命令时一直报错,无法上传到远端仓库。
    1. 问题解决:
      1.  删除昨天常见的仓库目录,重新在 ~/  目录下创建新的工作目录 ~/git/ 
      2.  进入该目录,并使用 git clone 命令把giget@github上已经创建的仓库 克隆到本地
      3.  使用 git init 命令把 ~/git/  目录设置为本地仓库
      4.  $ ssh -T git@github.com    验证连接是否成功
      5.  $ git remote add origin git@github.com:<usrname>/[path]/<name>.git   把本地的仓库和GitHub上的<name>.git仓库相关联
      6. 使用命令提交本地修改到本地仓库,然后再push到远端仓库,显示成功
        1.  $ git add .   (添加全部文件)或   $ git add <file_name>   (单个文件,可重复使用多次添加)
        2.  $ git commit -m '<添加摘要日志>'    默认提交全部的添加
        3.  $ git push origin master      把 local 仓库的更新 push 到 git@github.com 仓库中,成功搞定!
        4.  $ git status    查看本地仓库状态。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值