• Git--上手Github


    1.创建远程仓库

    无论在之后的第二步你是想从本地到远程还是远程到本地,创建远程仓库是第一步肯定的。(推荐克隆本地,然后把本地的代码拷入,然后add push

    因为clone ,github会帮忙创建一个banrch 

    .gitignore 设置项目类型

    像我是在github上面建仓库,所以在GitHub网站操作新建自己的一个仓库,.gitignore 设置项目类型,.gitignore 是 Git 仓库中的一个特殊的文本文件,它里面记录了你不希望提交到仓库的目录和文件的名称或类型,例如你的 /build 目录;

    如果是文件夹,直接在后面写上文件夹的名称就可以过滤掉,还可以过滤具有某些特殊后缀的文件,以及文件名指定文件

    仓库的名称,可以是任意的:

    如果第二步你是从远程clone到本地那么你需要注意,你的仓库名称就是你的项目名称。

    如果第二步你是从本地push到远程那么你需要注意,你的项目名和你的仓库名可以是不一样的。

    ssh和https的区别:推荐ssh

    在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地。这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者。否则你是无法添加SSH key的,另外ssh默认是每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。

    .git

    LICENSE 和 .gitignore 文件外,还有一个叫做 .git 的隐藏目录。 这个 .git 目录,就是你的本地仓库(Local Repository),你的所有版本信息都会存在这里。而 .git 所在的这个根目录,称为 Git 的工作目录(Working Directory),它保存了你当前从仓库中签出(checkout)的内容。

    checkout切换分支,clone获取远程仓库代码

     

    git工具 

    下载git.exe,Windows在使用git工具时,可以看到有两个命令输入窗:

    1. Git CMD

    2. Git Bash

    两者的区别:Bash是基于CMD的,Bash在CMD的基础上新增了一些命令和功能,故建议使用Bash更方便。

    Git GUI 是一个图形操作页面。

    在项目工程上打开"Git Bash Here"这个命令行窗口上操作的,另外不建议cmd,建议git bash,可以补全

    所有的命令都有快捷提示补充功能tab键,比如输入"git status"这个命令时,只需要输入"git stat"再按tab键就补充剩下的了,其他也是

    2.初次把远程仓库取到本地

    git clone 你刚复制的地址

     

    这里需要注意的是:

    1.你当前所在的目录是你项目的父目录。

    2.你需要配置ssh。https://blog.csdn.net/qq_34291777/article/details/55052201?locationNum=1&fps=1

     

    Please make sure you have the correct access rightsand the repository exists 或Permission denied (publickey).

    想从Git库中克隆项目。没想到原来要进行密钥生成。就是和你https://github.com上的账号进行验证。在本机生成密钥与自己账号绑定。这样就可以从git上下项目了。(这也是为什么我们要fork别人的项目,fork了才方便自己clone和提交)

    git config –global user.name “yourname”回车 

    git config –global user.email“your@email.com”回车 

    这两个命令相当于配置了密码,任何更改,在家目录下.gitconfig文件中更改

    [user]
    email = g1695698547@163.com
    name = Gaoyongxian666

    ssh-keygen -t rsa -C “your@email.com”(请填你设置的邮箱地址)回车(命令中的引号可以不加)最后在家目录  下找  .ssh  文件夹中的 id_rsa.pub 用记事本打开(不是那个文件)

     

     

    3.初次把本地仓库推到远程

    在你的项目目录下:

    git init 初始化

    git add . 提交全部

    git status 查看状态

    git remote add origin [写下你的仓库地址]   让本地仓库连接远程仓库

    git commit -m "Initial commit" 提交信息(可以不加引号,加引号可以写多行注释

    git push origin master 提交到主分支

    注意:

    1.origin和master中不能有/

    2.fatal: remote origin already exists. 或者用3

      git remote rm origin
      git remote add origin [url]

    3.如何更改远程仓库 git remote set-url origin [url]

    4.免密

    1)新建文件并保存密码
    $ touch ~/.git-credentials
    $ vim ~/.git-credentials
    2)添加内容
    https://{username}:{passwd}@github.com
    3)添加git配置
    $ git config --global credential.helper store

    另外还有一个更简单但安全性低一些的方案:执行这行代码:git config credential.helper store

    在这之后你只需要再输入一次密码, Git 就会把你的密码保存下来,这之后就再也不用输入了。说它「安全性低」,是因为这条指令会让 Git 把你的密码以明文形式保存在你的电脑上。具体这两种保存密码的方案选择哪个,看你自己了

     

    5.命令:

    上面提到的都是一个文件一个文件的添加到staged,所以用"git add 文件名",添加所有文件到暂存区可以直接用“git add .”

    提交直接用"git commit -m '你提交的信息'",推到中央仓库也可以直接用 "git push origin master"就好了

    上面提到输入用户名和密码这个,我只知道把项目clone下来时不用"https 的那个url",而是用“ssh 的那个url”这样就不需要每次操作输入用户名和密吗

    5.1   log查看提交记录

    在这里你只能看到一个提交,这个提交是 GitHub 帮你做的,它的内容是创建你的初始 .gitignore 和 LICENSE 这两个文件。图中第一行中的 commit 右边的那一大串字符(09773235…21411),是这个 commit 的 SHA-1 校验和(如果不知道什么是 SHA-1,你可以暂时把它简单理解为这个 commit 的 ID);后面括号里的内容(HEAD -> master ...)稍后再讲;第一行的下面,依次是这个 commit 的作者、提交日期和提交信息,其中提交信息记录了这个提交做了什么,是提交者填写的(当然,这条提交信息是 GitHub 帮你写的)。

    简单看一下这些信息,然后按 q 键退出吧,往下继续。

     

    5.2   commit提交

    现在你在项目的目录下输入:

    git log, Show commit logs

    可以在 git commit 后面接 -m ‘<变更日志>’ ,就不需要使用 vi 输入

     

    注意:提交之前无论是commit还是push都要进行status 。

     

    5.3   status 状态 与 add 追踪

    git status  Show the working tree status,用来查看工作目录当前状态的指令,只要不是暂存成功的,都需要add

    git add  Add file contents to the index

     "untracked" 状态,它的意思是 Git 仓库对它没有进行任何记录,你在提交的时候不会把它提交上去,查看提交历史也不会看到它。总之,对于 Git 仓库来说,它是不存在的。

     "staged"(已暂存)状态,意思是这个文件中被改动的部分(也就是这整个文件啦)被记录进了 staging area(暂存区)。

     

    暂存区: staging area,是 .git 目录下一个叫做 index 的文件(嗯,它的文件名并不叫 stage )。

    每个文件有 "changed / unstaged"(已修改), "staged"(已修改并暂存), "commited"(已提交) 三种状态,以及一种特殊状态。"untracked"(未跟踪)。

    5.4 push到中央仓库

    git commit 提交指令,提交到本地仓库

    git push 提交一次或多次到本地后,把本地提交 push 到中央仓库

    先pull 再push,防止冲突

    5.5 pull更新本地仓库

    git pull 是更新

    5.6  一般的工作流程

    git clone--写代码--git add--中间可以随时git status(总共四种工作状态)--git commit--git push---git pull---写代码

     5.7  管理级别

    Git 的管理是目录级别,而不是设备级别的。也就是说,/git-practice 目录内的 .git 只管理 /git-practice 里的内容,/git-practice-another 目录内的 .git 也只管理 /git-practice-another 里的内容,它们之间互不知晓,也互不影响。

    5.8  完成提交

    push/或者 commit 之后,i 输入提交信息, 然后esc 连续两个大写的Z 就保存且退出了.如果是commit -m 就不用这么麻烦。

    fatal 致命的

  • 相关阅读:
    java web 开发入门
    程序优质网站
    为什么要放弃ssh框架
    JDK核心源码(2)
    Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令
    快照COW
    磁盘检测SMART工具
    python学习-3.一些常用模块用法
    python 学习2:生成器,迭代器,装饰器
    关于对SwfUpload的改造
  • 原文地址:https://www.cnblogs.com/BlueFire-py/p/8580794.html
Copyright © 2020-2023  润新知