git使用

git配置

  • 安装git

    sudo apt install git

  • 配置github用户信息,帐号和密码

    git config --global user.name “用户名”
    git config --global user.email 邮箱名

  • 查看git config配置信息

    git config -l

  • 生成ssh密钥,用来验证登录,使用下面的命令,一直回车,会在当前目录生成一个.ssh文件夹。

    ssh-keygen -t rsa -C “your_email@example.com”

  • .ssh文件夹里面有一个名为id_rsa.pub的文件,这就是公钥,要把公钥添加到github中,这样才能解析你的加密内容

git操作流程

  • 可以在本地新建一个git本地仓库,并且可以选择把本地仓库推送到github空仓库,注意是github空仓库,就是新建的github仓库。

  • 可以直接把github的仓库非空仓库拉取下来,非空就是你已经推送过仓库到github仓库了。

  • 直接git clone 一个仓库下来,这种就是拉取别人的仓库下来,不是自己的,修改之后无法推送。

  • 注意:自己使用git init,新建一个仓库,此时无法与其他仓库任何分支进行操作,无论是合并还是拉取推送,方法是git pull origin master,得到一个.git,然后才能进行各种操作,表明同一个仓库。

git使用

  • 1、初始化仓库:

    git init

    此时会在当前目录下建立.git文件夹,属于隐藏文件,可以使用ls -a显示,这个目录就是被控制的目录

  • 2、使用git add .把目录提交到暂存区,.代表所有改动过的文件

  • 3、使用git commit -m ‘提交信息’,提交暂存的文件到git版本中。

    • 本质是三个区,工作区,就是你的目录,除了.git文件夹之外的所有文件。

    • 暂存区和git版本区都在.git目录下,git版本区是文件最终存放的位置。

    • 暂存区是文件中间存放的地方,工作区是你可见的工作区,你在那里编辑更改代码,点击保存之后,保存也是在工作区。

    • 这三个区都是存文件的东西,就相当于把工作区的文件保存了两个副本,就很像微信,别人发了一个文件出来,比如名字叫做作业1,你下载保存了,然后又发了一个作业1,你再下载保存就会变成作业1(1),别人再发一个,你再保存就会变成作业1(2),你更改任何一个都不会影响其他两个,是不是git就这了?当然git功能更加强大,你修改作业1,只要git add 作业,那么就可以实现更改作业1(1),使用git commit -m ‘提交信息’,就可以实现更改作业2。

  • 4、上面的操作都是在你本地工作目录下的,在此之前你要先建立链接,通过git remote add myhub git@你的仓库名字,你可以通过提交你的文件夹到远程仓库,通过git push 你起的链接名 本地分支。

  • 5、github仓库多人同时编辑,只需要在github添加多个ssh密钥,本地仓库有一个加密码,gitHub添加解码器,多个解码器自然可以解码多个。

git分支

  • 创建分支且切换到新建的分支

    git checkout b 分支名

  • 切换分支

    git checkout 分支名

  • 合并另一个分支到当前分支

    git merge 另一个分支名

  • 合并冲突,手动修改,并且重新提交

    vim 冲突的文件名
    git add .
    git commit -m “提交信息”

  • 注意点:分支合并,合并的时候,新文件不会冲突,同一个文件,内容不同就会冲突,此时其他不冲突的已经完成合并,只有冲突的没有合并,需要手动修改文件,然后git add .和git commit -m “提交信息”

版本回退

  • 版本回退,查看提交信息

    git log

  • 因为git有工作区、暂存区和git版本区,所以会有三种回退力度,对应三种选项,–soft、–mixed和–hard。

    git reset 选项 分支名对应版本

    • 使用–soft就仅仅恢复版本区,暂存区以及工作区的所有东西都不变。

    • 使用–mixed就恢复版本区和暂存区,工作区依然不变。

    • 使用–hard,版本区、暂存区和工作区3个区都会变,恢复到上一次。

  • 分支版本名有2种方式表示

    • git log查看到的版本id
    • HEAD表示当前分支名,HEAD^表示当前分支的上一个版本,HEAD~n表示当前分支的前n个版本
    • 直接用分支名
  • 单个文件回退

    • 将文件撤销回到最近一次修改的状态:

    git checkout – file

    • 回退到某一次

    git log filename(用来查看id,为下一步git reset做准备)
    git reset id filename

常用命令汇总

  • git config –
  • git init
  • git clone url
  • git
  • git add [file1] [file2] …
  • git add [dir] (注意会包括子目录)
  • git add . (注意是暂存当前所有未暂存过的文件包括目录)
  • git status
  • 显示暂存区和工作区的差异:

    git diff [file]

  • 显示暂存区和上一次提交(commit)的差异:

    git diff --cached [file]

  • 显示两次提交之间的差异:

    git diff [first-branch]…[second-branch]

  • 提交暂存区全部文件到仓库

    git commit -m ‘提交信息’

  • 提交暂存区对应文件到仓库

    $ git commit [file1] [file2] … -m ‘提交信息’

  • 将文件从暂存区和工作区中删除:

    git rm file

  • 创建分支且切换到新建的分支

    git checkout b 分支名

  • 切换分支

    git checkout 分支名

  • 合并另一个分支到当前分支

    git merge 另一个分支名

  • 合并冲突,手动修改,并且重新提交

    vim 冲突的文件名
    git add .
    git commit -m “提交信息”

  • 注意点:分支合并,合并的时候,新文件不会冲突,同一个文件,内容不同就会冲突,此时其他不冲突的已经完成合并,只有冲突的没有合并,需要手动修改文件,然后git add .和git commit -m “提交信息”
  • git log
  • git log -filename
  • 添加一个新的远程仓库。指定一个远程仓库的名称和 URL,将其添加到当前仓库中:

    git remote add 你起的远程仓库别名 远程仓库名

  • 从当前仓库中删除指定的远程仓库:

    git remote remove 你起的远程仓库别名

  • 拉取远程仓库你没有的分支

    git fetch 你起的远程仓库别名

  • git pull 命令用于从远程获取代码并合并当前分支。

    git pull 你起的远程仓库别名 分支名

  • git push 命令用于从将本地的分支版本上传到远程并合并。命令格式如下:

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

  • 如果本地分支名与远程分支名相同,则可以省略冒号:

    git push <远程主机名> <本地分支名>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值