学习历程GitHub

Posted locqj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习历程GitHub相关的知识,希望对你有一定的参考价值。

#GitHub

 github作为分布式管理的一个代表,从linux之父为了打破集中式管理而码出来的,从发明到今,一直受到热捧!

如何获取github公钥

  1. 首先在你账户下面创建一个仓库
  2. 填写名称,简介(可选),勾选Initialize this repository with a README选项,这是自动创建REAMDE.md文件,省的你再创建。
  3. 在git shell程序中,进入你自己创建的本地文件夹(作为本地仓库)下,输入以下命令来生成公钥

    ssh-keygen -C ‘your@email.address’ -t rsa

  4. 连续三个回车之后会在windows当前用户目录下生成.ssh文件夹。

  5. 打开这个文件夹 找到id_rea.pub,cp全部内容。然后打开github的账户设置(一个扳手和一个螺丝刀交叉的图标)-> 打开ssh keys,右击add ssh key
  6. title随便输(我也不知道干嘛用的。。。)然后把cp的内容放在key栏,
  7. 这样公钥的添加就完成了,以后就可以向github上传了
  8. 在 git shell 输入命令测试你的公钥是否认证正确,

    ssh -T git@github.com


正确会有
Warning:Permanently added ‘github.com,207.97.227.239’ (RSA) to the list of known hosts.
  Hi locaj! You’ve successfully authenticated, but GitHub does not provide shell access.
warning 不用理会。

上传远程

  1. 首先你必须在远程建立一个新的仓库,如果你在建仓库的时候勾选了,自动生成README.MD,那么你就必须先把远程的内容拉取下来,然后再push上去,因为如果你不拉去下来就会造成远程仓库和本地仓库的冲突。
  2. 如果真的不小心造成了冲突有几种解决方法

    • 使用强制push git push -u origin master -f ,这种方法会使得远程的内容丢失,在多人协作中不推荐
    • push前先将远程的pull下来,然后再push上去
      git pull origin master
      git push -u origin master
    • 不想本地和merge远程修改,可以先创建分支
      git branch[name]
      然后push
      git push -u origin[name]
  3. 有两种上传的情况

    1. 第一次上传:步骤

      git remote add origin url
      git push -u origin master

      2.不是第一次,直接git push

将github的代码clone到本地

  1. git clone url 这里的url是你在gihub,进入你要clone的仓库的url 右上角有一个Git Read-Only 复制下来
  2. 用git进入你相对应的本地仓库中,输入命令

    git clone url

  3. 然后需要你输入password,提交后即可下载

上传更新

  1. 当你对文件进行修改了后,你可以输入

    git status 查看当前状态


若显示nothing to commit (working directory clean)
说明当前没有需要提交修改,而且工作目录是干净的
这可以查看你当前的状态是否有修改,是否上传。
  1. 然后按照以下命令即可完成上传

    git add xxx
    git commit -m “描述”
    git push

  2. 当你伙伴修改了个文件,你却不知道 你就可以用

    git diff xxx(name)

这样来查看哪一行修改过,和原来版本的区别都会列出来

$ git diff readme.txt
diff –git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
— a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.

版本回退

就是当你修改代码,发现自己都不知道改成什么样子的时候,出现很多bug,这时体现了版本控制的重要性你就可以利用版本回退,找到你希望恢复的版本(记的每对一个版本都要用一个commit说明一下,不然以后你想找回自己之前保存的版本,会比较费劲)

  1. 首先你需要建立版本

    git add xxx 把你修改的地方提交
    git commit -m “注释” 说明该版本
    只有执行这两段命令才会向缓冲区提交数据,缺一不可
    不信的话 自己做一个小实验,修改一个文件,一个执行add 一个不执行add,每次执行完去git status
    你就会看到两者的区别,后者没有执行add的是没有提交缓冲区,这样status还是上一个缓冲区的状态
    git log 命令显示从最近到最远的提交日志


其中一大窜数字是版本号(commit id),这个其实就是sha1计算的值。 好了说了这么多其实无非就是查出版本号,这样就可以回到指定的版本号
  1. 回到上一个版本

    git reset –hard HEAD^

  2. 回到上上版本

    git reset –hard HEAD^^

  3. 回到指定版本

    git reset –hard 版本号(前6位)

撤销修改

当你错误操作,并且发现时,你可以用

git checkout –file

这个命令的意思就是把file在工作区的修改全部撤销,
这边有两种情况,一种是file自修改没有放到暂存区,一种是添加到了暂存区,又作了修改,现在撤销就回到添加暂存区后的状态。
总的来说,就是让这个file回到最近一次git commit 或 git add状态。

删除文件

分支

分支的重要作用就是在多人协作的时候,每个人都是在自己分支上修改代码,不会互相影响,等各自的代码调通完成,然后就可以合并到主分支(master)上面,这样对于团队的效率会有很大的提升。
首先先记几个用的上的命令

git branch 查看本地分支
git branch -r 查看远程分支
git branch[name] 创建本地分支,不会自动切换分支
git checkout[name]切换分支
git checkout -b [name]切换并创建分支
git branch -d 删除合并过的分支
git branch -D 强行删除分支
git merge [name] 合并分支
git push origin [name] 创建远程分支,实际把本地分支push到远程

  1. 使用 git branch 查看分支 当分支前会有个*号
  2. 在自己的分支下修改完代码后,你再试试跳转到主分支上查看你刚才修该的地方,你会发现你修改的内容全都,不见这就是分支的好处,各自不相互影响。

分支冲突解决

以上是关于学习历程GitHub的主要内容,如果未能解决你的问题,请参考以下文章

我的git与github学习历程

reactXP学习历程

使用Flutter开发Github客户端及学习历程的小结

学习HEXO的历程

Spring 学习历程

前端学习历程--localstroge