git与github

heathhou heathhou     2022-12-06     401

关键词:

1. Git具体命令

  1. 安装Git
  2. 在命令行输入 git 用来检测 Git 是否安装成功
  3. git init 初始化 git 仓库
  4. git add 提交到缓存区
    • git add 1.txt 将1.txt提交到缓存区
  5. git commit 提交到工作区
    • git commit -m "first commit" commit 是提交的意思,-m 代表是提交信息,进行提交
  6. git remote add origin git@github.com:heathhou/gitdemo.git
    • origin 在以后就可以代表 git@github.com:heathhou/gitdemo.git
  7. git push origin master 提交到远程仓库
  8. git status 查看状态
  9. git reset xxx 回滚版本
    • git reset --mixed xxx (默认)归档区 和 缓冲区
    • git reset --hard xxx 归档区 缓冲区 和 工作区
    • git reset --soft xxx 归档区
    • xxx --> 操作所对应的哈希值
  10. git log 查看所有产生的 commit 记录
  11. git reflog 查看提交的操作
  12. git revert xxx 撤销某次提交的操作
    • xxx --> 操作所对应的哈希值
  13. git branch 查看分支
    • git branch -v (默认)查看有哪些分支
    • git branch a 创建a分支
  14. git checkout 切换分支
    • git checkout a 切换到 a 分支上
    • git checkout -b a 先新建再切换,未免有点麻烦,可以一步到位的
  15. git merge xxx 合并分支
    • git merge b1 将b1分支合并到当前分支
    • xxx --> 某一分支
  16. git branch -d 删除分支
  17. git branch -D 强制删除分支
  18. git tag 贴标签
  19. git pull (将本地更新到远程仓库一致)拉取远程仓库最新的版本并将远端同名分支合并到本地分支
  20. git fetch 获取远端的更新
  21. git clone 仓库地址 (使用git clone指令下载仓库)
  22. git clone -b 分支名 仓库地址 (使用git clone指令下载指定分支代码)
  23. git push origin master (使用master分支进行提交)

2. 向Github提交代码

  1. SSH

    • Linux 与 Mac 都是默认安装了 SSH ,而 Windows 系统安装了 Git Bash 应该也是带了 SSH
      的。大家可以在终端(win下在 Git Bash 里)输入 ssh查看是否安装了ssh.
  2. 生成SSH key

    ssh-keygen -t rsa -C "you_email@your_email.com"

    这个email是几在github上注册的email
    默认两次回车(确认路径和密码)
    你也可以设置密码,这里两次回车是设置没密码

  3. GitHub上添加SSH key

    找到这个地址,将id_rsa.pub用记事本打开并复制里面的内容:

    技术图片

    打开GitHub网站:

    技术图片

  4. Push&Pull

    • git push origin master 把本地代码推到远程 master 分支
    • git pull origin master 把远程最新的代码更新到本地
    • 一般我们在 push 之前都会先 pull ,这样不容易冲突。
  5. 提交代码

    • Clone自己的项目 ,例如输入:

    git clone git@github.com:stormzhang/test.git

    这样就把 test 项目 clone 到了本地,你可以把 clone 命令理解为高级点的复制,这个时候该项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了远程仓库,我们只需要在这个 test 目录下任意修改或者添加文件,然后进行 commit ,之后就可以执行:

    git push origin master

    进行代码提交

    • 假设我们本地有个 test2 的项目,我们需要的是在 GitHub 上建一个 test 的项目,然后把本地
      test2 上的所有代码 commit 记录提交到 GitHub 上的 test 项目。

      • 在 GitHub 上建一个 test 项目

      • 把本地 test2 项目与 GitHub 上的 test 项目进行关联,切换到 test2 目录,执行如下命
        令:

        • git remote add origin git@github.com:stormzhang/test.git

    什么意思呢?就是添加一个远程仓库,他的地址是 git@github.com:stormzhang/test.git ,
    而 origin 是给这个项目的远程仓库起的名字,是的,名字你可以随便取,只不过大家公认的只有一个远程仓库时名字就是 origin ,为什么要给远程仓库取名字?因为我们可能一个项目有多个远程仓库?比如 GitHub 一个,比如公司一个,这样的话提交到不同的远程仓库就需要
    指定不同的仓库名字了。

  • 查看我们当前项目有哪些远程仓库可以执行如下命令:

git remote -v

  • 接下来,我们本地的仓库就可以向远程仓库进行代码提交了:

git push origin master

  • 友情提醒,在提交代码之前先要设置下自己的用户名与邮箱,这些信息会出现在所有
    的 commit 记录里,执行以下代码就可以设置:

git config —global user.name "stormzhang"
git config —global user.email "stormzhang.dev@gmail.com"

3. Git 进阶

  1. 用户名和邮箱

    • git config --global user.name "ZhugeBorrowedSword"
      git config --global user.email "bhcbfx@163.com"

      以上进行了全局配置,当然有些时候我们的某一个项目想要用特定的邮箱,这个时候只需切
      换到你的项目,以上代码把 --global 参数去除,再重新执行一遍就ok了。

  2. alias 起别名

    • git config --global alias.co checkout # 别名
      git config --global alias.ci commit
      git config --global alias.st status
      git config --global alias.br branch

    • git commit git ci
      git checkout git co
      git branch git br
      git status git st

    • 当然以上别名不是固定的,你完全可以根据自己的习惯去定制,除此之外还可以设置组合,比如:

      git config --global alias.psm ‘push origin master‘
      git config --global alias.plm ‘pull origin master‘

      git config --global alias.lg "log --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit --date=relative"

  3. 其他配置

    • git config --global color.ui true # 开启颜色

      git config --global core.quotepath false # 设置显示中文文件名

  4. diff

    • diff命令算是很常用的,使用场景是我们经常在做代码改动,但是有的时候2天前的代码了,做了哪些改动都忘记了,在提交之前需要确认下,这个时候就可以用diff来查看你到底做了哪些改动

  5. checkout

    • 切换分支
    • 切换tag
    • 撤销
  6. stash

    设想一个场景,假设我们正在一个新的分支做新的功能,这个时候突然有一个紧急的bug需要
    修复,而且修复完之后需要立即发布。当然你说我先把刚写的一点代码进行提交不就行了
    么?这样理论上当然是ok的,但是这会产品垃圾commit,原则上我们每次的commit都要有实
    际的意义,你的代码只是刚写了一半,还没有什么实际的意义是不建议就这样commit的,那
    么有没有一种比较好的办法,可以让我暂时切到别的分支,修复完bug再切回来,而且代码也
    能保留的呢?

    这个时候 stash 命令就大有用处了,前提是我们的代码没有进行 commit ,哪怕你执行了
    add 也没关系,我们先执行

    git stash

    命令,什么意思呢?意思就是把当前分支所有没有 commit 的代码先暂存起来,这个时候你再
    执行 git status 你会发现当前分支很干净,几乎看不到任何改动,你的代码改动也看不见
    了,但其实是暂存起来了。执行

    git stash list

    你会发现此时暂存区已经有了一条记录。
    这个时候你可以切换会其他分支,赶紧把bug修复好,然后发布。之后一切都解决了,你再切
    换回来继续做你之前没做完的功能,但是之前的代码怎么还原呢?

    git stash apply

    你会发现你之前的代码全部又回来了,就好像一切都没发生过一样,紧接着你最好需要把暂
    存区的这次 stash 记录删除,执行:

    git stash drop

    就把最近一条的 stash 记录删除了,是不是很方便?其实还有更方便的,你可以使用:

    git stash pop

    来代替 apply 命令,pop 跟 apply 的唯一区别就是 pop 不但会帮你把代码还原,还自动帮你
    把这条 stash 记录删除,省的自己再 drop 一次了,为了验证你可以紧接着执行 git stash
    list 命令来确认是不是已经没有记录了。
    最后还有一个命令介绍下:

    git stash clear

    就是清空所有暂存区的记录,drop 是只删除一条,当然后面可以跟 stash_id 参数来删除指
    定的某条记录,不跟参数就是删除最近的,而 clear 是清空。

  7. merge & rebase
    我们知道 merge 分支是合并的意思,我们在一个 featureA 分支开发完了一个功能,这个时候需要合并到主分支 master 上去,我们只需要进行如下操作:

    • git checkout master
      git rebase featureA

    rebase 跟 merge 的区别你们可以理解成有两个书架,你需要把两个书架的书整理到一起
    去,第一种做法是 merge ,比较粗鲁暴力,就直接腾出一块地方把另一个书架的书全部放进
    去,虽然暴力,但是这种做法你可以知道哪些书是来自另一个书架的;第二种做法就是
    rebase ,他会把两个书架的书先进行比较,按照购书的时间来给他重新排序,然后重新放置
    好,这样做的好处就是合并之后的书架看起来很有逻辑,但是你很难清晰的知道哪些书来自
    哪个书架的。

    ?









































github与git的区别

  在Git中,开发者将源代码存入名叫“Git仓库”的资料库中并加以使用;  而GitHub则是在网络上提供Git仓库的一项服务;            --摘抄自GitHub入门与实践   查看详情

github与git的学习

一.Github与Git的简介与区别1.Github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。Github由ChrisWanstrath,PJHyett与TomPreston-Werner三位开发者在2008年4月创办。迄今... 查看详情

git基础与github(代码片段)

目录基础介绍Git与GitHubgit使用git架构git操作Git常用指令使用GitHub目的基本概念基本动作基本页面IDEA配置github并上传项目配置github在IDEA中设置Git在IDEA中设置GitHub初次提交代码到Github修改代码并提交总结过程中遇到的问题及解决方... 查看详情

git与github基本使用

  这里只对git与github的基本使用介绍,对于简单的步骤不做详细的说明,可以在网上搜索  一.git与github的安装与链接  1.git安装:百度搜索“git”,下载安装即可;   2.设置你的本地git的用户名和邮箱,这个是... 查看详情

git与github使用

Git和Github简单教程目录:零、Git是什么一、Git的主要功能:版本控制二、概览三、GitforWindows软件安装四、本地Git的使用五、Github与Git的关联六、团队合作开发七、Github的其他介绍八、一些可能碰到的问题零、Git是什么我才不告... 查看详情

git与github

1、Git与GitHub的基本知识Git是一款免费、开源的分布式版本控制系统,一种专为处理文本文件而设计的版本控制系统。它是一个可安装应用,它允许你对你自己所做的更改进行注释,用以创建易于导航的系统历史。Github是用Git做... 查看详情

git与github学习

一我的Github我的Github项目地址:https://github.com/lllmathison/hello 二对github与git的学习、感受git是一个版本管理工具,在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容。Git是一... 查看详情

团队开发:git与github

首先,Git不是github,Git和github的关系就像是英雄联盟和对战游戏平台 其次,Xcode内置了Git,我们可以利用github或者国内的开源中国进行代码托管,直接在Xcode上进行团队协作1,配置与第一部的上传一、首先想要申请一个github... 查看详情

git与github

一:GitHub项目地址     https://github.com/zhuzhihun/123     git教程二:git与GitHubGitHub是一个分布式的版本控制系统,最初由LinusTorvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取... 查看详情

git与github的连接与使用

下面继续,使用git将项目上传到GitHub上首先要有GitHub账号,这就不用说了,没有的先注册,地址:https://github.com 没有仓库的话,先新创建一个仓库填写新仓库名称,备注信息。点击创建即可完成。 创建完成会显示如下界... 查看详情

github入门与实践——初步体验git与github的联动

1、在GitHub上创建仓库1)2)3)2、使用Git克隆已有仓库运行GitBash,输入以下命令$gitclonegit@github.com:jt1024/test.git      //回车GitHub中的文件就下载到了本地,期间可能需要输入之前设置的密码3、使用Git提交... 查看详情

git与github(利用git上传本地文件到github上面)

GitHub就是代码仓库(管理代码的工具)可以共享给所有人Git就是从GitHub上提取文件或者将本地文件上传到GitHub的工具(等同于SVN)利用Git上传项目步骤一:(用户和邮箱为你github注册的账号和邮箱) $gitconfig--globaluser.name"startstud... 查看详情

git与github

我的github链接:https://github.com/xuziqian111/hello-world/blob/master/helloworld.java说道对于git和github的理解:首先Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git是LinusTorvalds为了帮助管... 查看详情

git与github的使用

一.使用说明1.Git与github的功能:Git是世界上最先进的分布式版本控制系统,也就是用来记录你的项目代码历史变更信息的工具;github就是用来存储你的代码以及变更信息的云端平台;2.优点:先进并且免费;3.缺点:Github属于国... 查看详情

git与github

...交的意思,-m代表是提交信息,进行提交gitremoteaddorigingit@github.com:heath 查看详情

git与svn与github与码云的区别

1.git与github(https://www.oschina.net/)的区别Git(https://git-scm.com/)是一个版本控制工具github是一个用git做版本控制的项目托管平台。2.码云(http://git.oschina.net/)简介 码云是开源中国社区2013年推出的基于Git的完全免费的代码托管... 查看详情

git与github那些事儿(代码片段)

Git与GitHub交互操作git直接无法创建仓库,必须先在GitHub上创建好仓库,拿到仓库URL地址然后使用git远程操作git可以是用该URL进行向远程推送版本信息或获取版本信息,如下图机制:git操作GitHubgit远程基本流程在公司:gitremoteaddorigi... 查看详情

git与github入门

一、git起步https://www.runoob.com/git/git-install-setup.html1、下载git(Windows)2、安装GUI(TortoiseGit)3、查看git配置:$gitconfig--list二、git本地仓库https://www.runoob.com/git/git-create-repository.html1、建立本地仓库:新建仓库:$cddir 查看详情