【微技能】GitHub学习笔记

(搬运自优达学城

导航

0. 需要的一些Git背景知识(Git知识

使用git initgit clone 创建仓库
使用git status 查看仓库
使用git loggit show 查看以往的commit
使用git add 加入要提交的对象 ,使用git commit 提交至仓库
知道分支,合并分支,以及解决合并冲突
Git中的撤销操作:
   使用git commit --amend 用于撤销最近的commit,或者更改commit消息
   使用git reset

1.使用远程仓库 (Remote Repositories)

1.1 git remote Manage Remote Repository

git remote 命令用于创建和管理远程仓库。本地仓库与 你的GitHub 帐户上刚创建的远程仓库之间创建连接。
步骤:

  1. 使用GitHub创建一个 新的仓库,如下图 。(你需要注册GitHub注册教程,如果你想下载客户端,也通过官网下载https://desktop.github.com
    在这里插入图片描述
  2. 然后使用$ git remote add origin https://github.com/richardkalehoff/RichardsFantasticProject.git来链接到本地。
    add命令是一个子命令,用于添加,origin是你设置的简称,可以自己设,后面是复制的URL链接。
  3. git remote -v 检验是否一切正常,如下图:用 git remote -v 检验是否一切正常,如下图:
    效果图
    【扩展】除此之外的remote的其他子命令如下:remote命令官网详解
git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
git remote set-branches [--add] <name> <branch>…​
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote [-v | --verbose] show [-n] <name>…​
git remote prune [-n | --dry-run] <name>…​
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…​]
1.2 git push Send changes to the remote —“推”
  1. 使用git push把本地的仓库推到远端
  1. 推送之前,使用$ git log --oneline --graph --decorate --all查看一下本地分支,将会看到只有本地分支,没有远程分支在这里插入图片描述

  2. 使用$ git push origin master 推送,我的远程仓库的简写名为 origin,并且我想推送的 commit 位于master分支上。
    git push 的命令格式如下:
       $ git push <remote-shortname> <branch>

  3. 再次使用$ git log --oneline --graph --decorate --all命令,可以看到新的远程分支,推送成功,查看GitHub 的Web端可见。
    在这里插入图片描述

1.3 git pull Retrieve updates from the remote — “拉”

本地仓库中出现的分支实际上在跟踪远程仓库中的一个分支(例如,本地仓库中的 origin/master 称为跟踪分支,因为它在跟踪远程仓库上简写名为 “origin” 的 master 分支)

$ git pull origin master 
运行此命令会检索origin远程仓库中的master分支中的commit

此命令会自动合并本地分支于跟踪的分支,如果不想自动合并,可以运行`git fetch

1.4git fetch 和git pull 相似,但是不会自动合并
    git fetch            git merge


在这里插入图片描述

2.使用其他开发者的仓库

2.1 fork仓库

fork(叉子) 分叉,We’d say that the road forked into two different paths,

2.2 查看现有工作

查看现有工作最大的问题是:定位问题,commit数量可能十分巨大,找一个commit是一件麻烦事。

$ git shortlog                         可以按照作者排序
$ git shortlog -s -n 

其中:用 -s 仅显示 commit 的数量(而不是每个 commit 的消息),以及用 -n 来按数量排序

$ git log --author="Paul Lewis"    按作者筛选 ,其中Paul Lewis是人名
$ git show 5966b66                  按照commit代码筛选
$ git log --grep=bug                   筛选提到 "bug" 一词的 commit 
$ git log --grep bug
例如:使用 --grep 选项筛选 commit
$ git log --grep="border radius issue in Safari"

Grep 是一个模式匹配工具,它不在本课程教学范围内。但是简单介绍一下,如果你运行 git log --grep “fort”,那么 Git 将显示顺序包含字符 f、o、r、t 的 commit 。

2.3 确定任务
Pull Request  扶着把Fork上面的分支推送给原作者

在这里插入图片描述
操作:

Star(收藏)和 Watch(关注):

Star 是能帮助你跟踪感兴趣仓库的一个有用功能,同时也成为了衡量仓库受欢迎程度的手段

Watch仓库:如果你要跟进一个项目的变化,并希望接收变更通知如果。你频繁地在一个仓库上工作,那么我建议你将 watch 设置改为"Watching"(持续关注)。这样,当该仓库发生任何活动时,GitHub 都会通知你,例如当有人向仓库推送变更,创建了新的 Issues,或者在现有 Issues 中添加了评论。

watch 一个仓库后,如果你的本地仓库做了修改,而原作者的也变化了,这时就会有两个分支:

我们将使用 git remote 命令来向此列表添加一个新的简写名和 URL。这会提供给我们一个与源仓库之间的连接。

$ git remote add upstream https://github.com/udacity/course-collaboration-travel-plans.git

在这里插入图片描述

其中,origin 指的不是我们 fork 自的源仓库(也称为"初始"仓库),而是指我们 fork 后的仓库。虽然它叫 origin,但实际并不是初始仓库。

拉取上游变更
要获得上游远程仓库的更改,我们只需运行 git pull 并使用 upstream 简写名,而不是 origin 简写名:

$ git fetch upstream master

在这里插入图片描述

git fetch 只更新本地仓库。要更新 GitHub 上的项目,我们需要将这些新获取的 commit 推送到我们的 fork。

$ git log --oneline --graph --decorate --all

在这里插入图片描述
现在本地 master 分支前有一个 upstream/master 远程分支。upstream/master 位于 commit 52e493f 上,而 master 分支位于 commit 1c12194 上。使用 upstream/master 分支来跟踪源仓库 master 分支的位置。现在,我们可以运行 git fetch upstream master,获取对源仓库的master分支所做的更改
问题:

使用 git fetch upstream master 命令拉取了 upstream 远程仓库的 master 分支上的更改。

如果我们想获取 upstream/master 更改并将它们合并到master分支,我们应使用什么命令?


补充:

git log -p -n 3
//显示最近三条commit
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值