Git基础学习,以及GitHub的使用

Brief introduction to git and github

记录一些学习Git和GitHub时碰到的困惑

Subversion 和 Git 的关系

Subversion

Subversion 是集中型版本管理系统的典型代表。

  1. Subversion只有一个仓库,建立在服务器上。所有的commit都是与这个服务器交互。
  2. 如果服务器宕机了,可能仓库也随之破坏了

Git

git是分散型的代表。

  1. git用户每个都有一个仓库,本地的开发环境就有仓库。可以通过网络向远程的仓库发送请求。
  2. GitHub为我们提供了一个远程的仓库,git提交后只是提交到本地仓库,要提交到github的远程仓库,需要发送请求。

Git 的一些知识

  1. SSH key的添加
  • 添加了SSH key就可以和远程仓库建立连接。具体方法GitHub官网上很详细。添加密钥之后,就可以输入ssh -T git@github.com进行认证
  1. .gitignore文件
    这个文件里记录一些你在git版本管理时不需要管理的文件,在github上面创建repo时可以选择一个模板。也可以自己写。

  2. 常用命令

    • git status 查看当前git仓库的状态。
    • git add 将文件加到git仓库管理对象,这个只是添加到一个暂存区。
    • git commit 将暂存区的文件保存到仓库的历史记录里。可以通过这些记录,在工作树中复原文件。这里git commit 如果不加 -m那么就会启动编辑器,输入相应的信息。
    • git log 查看提交记录,q退出。
    • git diff 查看工作树与暂存区,最新提交之间的差别。其中,git diff可以查看工作树和暂存区的差别,查看工作树与最新提交的差别,git diff HEAD。> 养成一个好习惯,在git commit之前
    • git branch可以查看当前仓库的分支,个人认为,分支是git的最大特性,可以进行并行开发,而且互不影响。
    • git check out 切换分支
    • git merge 合并分支
  3. 进阶命令,更改提交

    • git reset回溯历史版本。git reset --hard+目标时间点的哈希值,就可以回到该时间点的版本。可以用git reflog查看仓执行过的操作日志。
    • 在多个分支进行工作的时候,需要解决冲突,git merge的时候会启动编辑器,可以看到冲突内容‘======’以上是当前HEAD的内容;以下是要合并的内容。
    • git commit --amend修改提交信息,修改git commit -m"" 的-m的内容能够
    • git rebase -i压缩提交历史,可以压缩多个commit成一个commit。常用于修改一些小的错误,不需要额外的commit历史记录,它对我们的历史没有意义。可以用这个命令,会进入编辑界面,可以通过几条命令的修改,具体文件里有。
  4. git 与remote 仓库的连接

    • git remote add添加远程仓库
      git remote add origin git@github.com:zhaoshenglong/reponame.git这条命令将会添加一个远程仓库 git@github.com:zhaoshenglong/reponam.git是github创建的仓库路径名,zhaoshenglong是我饿用户名,reponame.git是某个我在github上创建的仓库名,origin是将这个远程仓库的名称设置为origin
    • git push -u origin master将当前仓库的内容推送到origin(远程仓库)的master分支,-u参数可选,将origin的master分支设置为本地仓库的upstream,添加了这个参数,以后运行git pull就可以直接在本地仓库的这个分支上直接从origin的master分支上获得内容。
    • git push -u origin xxx 这条命令将会在远程仓库创建一个分支,并把当前仓库的内容放进相应分支。
  5. GitHub pull request

    • pull request 是github的最大的特色,是开源合作写代码的基础,也是github最不容易掌握的特性。
    • 首先,将项目仓库fork到自己github,它会自动在你的github上创建一个相同名称的仓库。
    • 第二步,就是使用git clone将需要的github仓库clone 到本地仓库
    • 第三步,建立一个特性分支,在这个特性分支里进行编辑。
    • 在自己的github的远程仓库上创立特性分支
    • 将本地仓库的内容提交到远程仓库
    • 最后在fork的github用户里,创建一个pull request申请,请求合并分支,等待管理者通过申请,或者拒绝。
  6. git work flow
    这部分后面再记录。

参考书籍

GitHub入门与实践[日]大塚弘记(个人觉得很很适合入门,讲解很清楚)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值