zoukankan      html  css  js  c++  java
  • github中git bash基础命令行

    今天来讲一下关于github命令行相关知识。呵呵,其实github都没太明白就把git bash摆上来当道菜。看来,我有当程序员的天赋,装X。

    前提:你已经在github上已经注册了账号。

    特别注意: 括号内均为提示信息

     1、常用命令行工具:

      ①cmd     ②powershell      ③git bash

    2、命令行常用命令(在git bash上生效,部分在cmd无用)

        -pwd (print working directory) 查看当前所在路径--绝对路径

        -cd(change directory) 切换目标

        -ls(list) 查看当前目录下的内容

        -mkdir(make directory) 创建目录

        -touch 创建文件

        -cat 查看文件内容(一次性将内容全部显示)

        -less 查看文件内容(显示部分信息)--再次输入‘回车’一行一行显示,‘空格’一页一页显示 ,‘b’一次向上走一页

        -rm(remove) 删除文件,-rm -rf 文件夹(循环递进删除文件夹)

        -rmdir(remove directory)删除文件夹(只能删除空文件夹,不常用)

        -clear 清屏

        -q 退出

        -mv(move) 移动文件或重命名

        -cp(copy) 复制文件

        -echo ‘内容’ > 文件名 (输出内容到文件中,每次输入都是覆盖原来的文件)

        -echo ‘内容’ >>文件名(输出内容到文件中,每次输入都是追加新内容)

    3、Git介绍

         Git版本管理工具,有三大区域:

         ① 工作目录-----存放项目代码的目录

         ②暂存区-----存放工作中更改的文件,避免项目代码丢失。

         ③代码仓库-----当开发功能足够成为一个版本时,提交到仓库。其实就是将暂存区中代码复制一份存储到代码仓库中。

        

         Git常用命令

         ① 配置git用户名和密码

              git config  --global user.name sun

              git config  --global user.email  sun@qq.com

        ② 查看当前git的配置

              git config --list

         ③ 初始化git 仓库

              git init

         ④ 查看当前仓库的状态

              git status

          ⑤ 将工作目录中的文件添加到暂存区

              git add sun.html(这个命令上传一个文件)     git add  .(这个命令会将当前目标下所有文件上传)    git   add  a.txt  b.txt (如果上传多个,文件名之间用空格)

              题外话: 如果当前文件夹内文件很多,但是有些又不想提交。可以通过编辑器(sublime,webstorm等)或命令行创建一个文件以.gitignore后缀,

             其内容写入不想提交的文件名即可。此时再通过git add .命令去全部提交时就会有选择提交。

          ⑥ 将暂存区中的代码提交到本地仓库,形成一个版本

              git  commit -m 备注(如果备注内容带空格,则需要加‘’)

           ⑦  查看本地仓库中的历史提交版本

              git  log

           ⑧  将暂存区中文件删除

               git  rm  --cached 文件名

           注意: 1、必须保证工作目录中代码和暂存区中代码一致。 2、删除之后,工作目录中仍然有此文件而暂存区没有。git不将管理该文件。

            ⑨  用暂存区中的文件覆盖工作目录中的文件

               git  checkout -- 文件名

            注意: 暂存区和工作目录中均有此文件,该文件依然被git管理

            ⑩ 回滚到本地仓库中特定版本并覆盖暂存区和工作目录

               git  reset --hard  commitID(commitID可以到git log中查看提交编号),有种方式:1、全部黏贴  2、只取前6位

          注意: 如果有版本1,版本2(后提交),当回滚到版本1时版本2会被自动删除。

         

        图示:

      

       分支相关命令:

        ① 查看分支  

                git  branch (显示结果中 有* 代表当前所在分支)

        ②  创建分支

                git  branch 分支名称

         ③  切换分支  

               git  checkout 分支名称

         ④  创建并切换分支 

              git  checkout -b 分支名称

         ⑤ 删除分支 (如果分支没有被合并不允许删除)

             git  branch -d 分支名称

         ⑥  删除分支(强制删除分支)

             git  branch  -D 分支名称

          ⑦  合并分支

            git  merge 来源分支(意思:当前目录到主分支,将来源分支合并到主分支上。合并后来源分支仍然存在)

          

    4、github 相关命令介绍

         4.1 模拟一个公共代码仓库

               ①先初始化   git  init --bare  sun.git (注意:此时公共代码仓库的文件夹必须以.git为后缀名)

         4.2  github仓库

               ① 为远程仓库地址创建别名

                  git  remote add origin  https://github.com/sun766/Programming-art.git(此处举例)

                注意: 通常我们会把远程仓库地址设置别名为origin

               ② 查看远程地址的详细信息

                 git  remote -v

               ③ 查看当前别名所对应的远程仓库地址

                 git  remote show origin

                ④ 从远程仓库获取代码(拉取所有版本到本地)

                 git clone  origin 

                 注意: 加入到已有项目的开发中,需要先拉取所有版本到本地再进行开发。

                ⑤ 从远程仓库拉取代码(拉取最新版本到本地,开发过程中使用)

                 git pull origin master

                  面试题: 说出clone 和 pull 之间区别

                ⑥向远程仓库推送代码

                 git  push origin(远程仓库地址)   master(本地分支名称):master(远程分支名称)

               注意: 推送时一定要在本地代码仓库目录中,如果本地分支同远程分支名称一样,可以只写一个。

                ⑦ 删除当前别名所对应的远程仓库地址

                  git  remote remove origin 

                记住: 如果你想重新使用origin 别名,则需要将原来的origin 对应远程地址删除掉。

                

    ‘’多人协作开发免登录设置”

     当不想使用账户和密码进行推送代码时,建议使用SSH协议。

       在git bash 中输入ssh-keygen,   自动会在c:/用户/administrator/中生成.ssh文件。其包括三个文件

         ① id_rsa   ②  id_rsa.pub    ③ known_hosts

        在github账号中settings/SSH and GPG keys,点击New SSH key将②中内容复制粘贴。

        注意: 设置别名时用SSH路径。

  • 相关阅读:
    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    用户画像——“打标签”
    python replace函数替换无效问题
    python向mysql插入数据一直报TypeError: must be real number,not str
    《亿级用户下的新浪微博平台架构》读后感
    【2-10】标准 2 维表问题
    【2-8】集合划分问题(给定要分成几个集合)
    【2-7】集合划分问题
    【2-6】排列的字典序问题
    【2-5】有重复元素的排列问题
  • 原文地址:https://www.cnblogs.com/sunqq/p/7555065.html
Copyright © 2011-2022 走看看