使用Github添加和更新代码的小总结

特别说明一下,我这使用的Mac自带的终端,Windows中使用git基本的命令和操作也是一样的。

这里记录一下是为了方便以后使用!

Git 速查表(摘自 AI有道)


一 . 注册账号和下载

首先,我先对GitHub来一个简单的介绍,GitHub有一个很强大的功能就是,你在服务器上边可以创建一个库,写代码是一件很重的任务,尤其是很多人完成一个很大的项目的时候,就十分的复杂,一群人一起来写某个项目,大家完成的时间,完成的进度都是不相同的,你写一点我写一点,甚至可能你今天写的出现了错误,影响到了我昨天写的代码,最后怎么才能将大家的代码轻松的汇总起来,又怎么在汇总所有人的代码之后发现错误等等一系列问题。这样我们就用到了GitHub这个软件。我们在GitHub服务器上有一个主仓库,这里用来储存你的所有代码,如果不付费的话是所有人都可以看的,如果你不想让别人看到你的代码,可以选择付费仓库。我们创建了主仓库之后,就可以在电脑上创建分支,之后你就可以在电脑上完成自己的代码,写完之后直接同步在电脑的分支,当你认为可以上传的自己的主仓库时,就可以申请更新,当通过审核的时候,你代码就出现在了自己的主仓库中,这样全世界的程序员都可以查看你的代码。全世界现在已经有300万的注册用户,甚至还有一些相当知名的开源项目也在其中公布代码。在GitHub上你可以看到很多计算机领域的精英所分享的自己的代码。这是GitHub的两个主要优点,适合团队协作,以及下载其他优秀者的代码。

我这里因为是已经注册过了,具体注册过程我就不一步步介绍了。

建库的话你登入自己账户,在repositories中new一个新库,需要提交的内容仅仅是包括库名-描述-还有一些public和private选择(GitHub的私有库貌似要收费)。

在网页端建好库后,如果你之前没有下载过git的话需要download git的程序。https://git-scm.com/downloads,下载对应版本的程序,安装过程略。

二 . 配置密钥

网页端的GitHub和git实际上并不是一个东西,如果你需要使用git将代码什么的更新到GitHub上的话是需要提前配置一些git的。

如果要在本机的git和你的GitHub远程端联系上,需要生成一个ssh密钥,就相当于一个验证,获取密钥时需要输入:

$ ssh-keygen-t rsa-C "your_email@youremail.com"

“......"输入的是你注册GitHub的邮箱名称,之后会有一些简单的让你确认的操作,之后让你会提示操作路径、密码等等,如果需要输入账户名和密码就输入你自己GitHub账户的信息,其他的都敲回车也可以。(注意在在你之前生成密钥的路径下打开id_isa.pub文件)

在github网站上,点击头像,选settings,选ssh and gpg keys,添加ssh key。将刚才生成的密钥(也就是pub文件的内容)复制到github上,测试通过即可。

通过命令进行测试:

ssh -T git@github.com

出现下列提示信息则说明你配置成功。如果遇到其他问题也可以自己查询git官方指南进行修改(https://docs.github.com/en)。

Hi your-name! You've successfully authenticated, but GitHub does not
provide shell access.

三 . 常用的命令

  • git init : 初始化 git 仓库,即将一个文件夹初始化为一个 git 仓库。
  • git status : 查看仓库的状态
  • git add <file> : 将文件提交到暂存区
  • git commit -m “代码提交信息” : 将暂存区的文件提交到仓库中,并附带说明信息
  • git log : 查看所有产生的 commit 记录
  • git config -l : 查看自己的配置,默认配置都在.git/config 文件中

3.1 分支相关的命令

  • git branch <branch_name> : 如果不加上 <branch_name>,查看当前分支情况。如果加上,就是创建一个分支。
  • git checkout <branch_name> : 切换到<branch_name>的分支上
  • git checkout -b <branch_name> : 创建一个分支并切换到这个分支上,效果相当于合并上面 2 个命令。
  • git merge <branch_name> : 将 <branch_name> 分支合并到当前所在的分支上
  • git branch -d <branch_name> : 将 <branch_name> 分支删除
  • git branch -D <branch_name> : 将 <branch_name> 分支强制删除。如果 <branch_name> 分支存在未合并的代码时,那么用 -d 是删除不了。

3.2 标签相关的命令

  • git tag : 查看历史 tag 记录。
  • git tag <tag_name> <commit_id> : 在指定提交 id 上创建一个 tag。如果不写 <commit_id> ,那就在最新的 commit 上创建一个 tag。
  • git checkout <tag_name> : 切换到 <tag_name> 标签
  • git show <tag_name> : 查看标签信息
  • git tad -d <tag_name> : 删除标签
  • git push origin <tag_name> : 将某个标签推送到远程仓库
  • git push origin :refs/tags/<tag_name> : 可以删除一个远程标签。

3.3 SSH

提前申明, windows 系统并不自带 SSH, 但是安装的 Git 中带有 SSH。所以以下命令请在 Git bash 下执行。

  • ssh-keygen -t rsa : 指定 rsa 算法生成密钥。
  • ssh -T git@github.com : 测试 ssh 是否成功添加到 github 中

3.4 Github 操作

  • git clone ... : 将 github 项目复制到本地的当前目录
  • git push origin <本地分支>:<远程分支> : 把本地分支中本地代码同步到远程分支
  • git pull orgin <branch_name> : 把远程 <branch_name> 分支的最新的代码同步到本地当前分支中
  • get remote add origin git@github.com:xxx/xxxx.git : 将当前本地仓库与远程进行联接
  • git remote -v : 查看我们当前项目有哪些远程仓库

3.5 删除操作

  • git add .+git commit -m "del" :在本地库将文件删除后同时删除远程仓库
  • git rm -r --cached <file_name>+git commit -m "del" :仅仅在远程仓库删除某个文件

3.6 补充命令

  • alias 别名

    • git config --global alias.<别名> "<原命令>"。比如 git config --global alias.c "checkout",之后 git c == git checkout
  • diff

    • git diff : 比较工作区文件和暂存区文件差异。如果加上文件名,就仅比较这个文件在工作区与暂存区的区别
    • git diff <commit_id1> <commit_id2> : 比较两次提交之间的差异
  • checkout

    • 作用 1 :切换分支、标签以及 commit。本质是「用某个 HEAD 中的最新内容替换掉你的工作区中的文件」。切换时,暂存区的内容不受影响但相当于在切换前执行了 git stash
    • 作用 2 :撤销还没进入暂存区的修改的作用。举个例子,假设我们在一个分支开发一个小功能,刚写完一半,这时候需求变了,而且是大变化,之前写的代码完全用不了了,好在你刚写,甚至都没有 git add 进暂存区,这个时候很简单的一个操作就直接把原文件还原:git checkout a.md,本质上是将 HEAD 内容覆盖掉工作区的内容。注意,checkout 命令只能撤销还没有 add 进暂存区的文件。
  • stash

    • 作用:把当前分支中的工作区的所有修改先暂存到栈上。
    • 运用场景:假设我们正在一个新的分支做新的功能,这个时候突然有一个紧急的bug需要修复,而且修复完之后需要立即发布。当然你说我先把刚写的一点代码进行提交不就行了么?这样理论上当然是ok的,但是这会产品垃圾commit,原则上我们每次的commit都要有实际的意义,你的代码只是刚写了一半,还没有什么实际的意义是不建议就这样commit的,那么就用 git stash 保留。
    • git stash : 把当前分支所有没有 commit 的代码先暂存起来
    • git stash list : 查看所有 stash 记录
    • git stash apply : 将暂存的代码还原
    • git stash drop : 把最近一条 stash 记录删除。注意:每次还原代码后,最好删除这条 stash 记录
    • git stash pop == git stash apply + git stash drop
    • 注意:执行了 git add 的数据在切换分支时,会自动暂存一起。本质上是因为切换分支不影响暂存区的数据。但需要手动恢复。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值