精华内容
下载资源
问答
  • Github使用指南

    2014-06-13 22:51:30
    Github使用指南  如果你只是想了解 github 的使用,请跳到 Github 简介一节。 版本控制简介 至于什么是版本控制?作为程序员大军之一,想必大家有这样的经历吧。开始一个项目的时候,脑子一...

    Github使用指南 



    如果你只是想了解 github 的使用,请跳到 Github 简介一节。

    版本控制简介

    至于什么是版本控制?作为程序员大军之一,想必大家有这样的经历吧。开始一个项目的时候,脑子一热,把程序一下子写了七七八八了,然后慢慢地到了瓶颈了,要实现新的功能,要改变某些结构。这个过程肯定是有很大风险的,说不定改变的时间要很长。但是客户又在催着要代码,那就为当前的版本起一个版本号吧,然后复制一份来重新改写部分,如果写好了,就交新的代码,改不好就又回到原来的版本。至少还可以交差。版本控制工具的原理也是这样,只是这个工具把代码都压缩存储了,省得自己手工复制代码然后存储。

    然后我们来看看另一个场景。一个团队的人希望合作开发一个软件,为了让所有人都看到最新的改动,他们把代码放到一个 ftp 上,然后每个人做完自己的工作后,上传到 ftp 然后替换相关的文件。但是,我们知道,软件的开发很难做到完全不耦合,或者两个人的指责是相同的,只是工作时间不同,他们的更改很可能有冲突。于是,要么两个人消极地等待对方进行修改然后自己再修改,要么两个人过于积极以至于每次更改都要仔细看看对方的代码有没有和自己的冲突,费劲地更改代码。而版本控制工具则提供了一种更好的方法,可以自动合并修改(如果没有冲突的话),或者,如果遇到冲突就对用户进行提示。

    为了更好地进行团队协作开发,我们引入 git 作为版本控制工具。

    Git 以及 Github 简介

    Git 是 Linus 在开发 Linux 内核时用于替换 Bitkeeper 版本控制工具(该工具不是免费的)而写的一个开源的分布式版本控制软件。而 Github 是一个代码托管网站。而代码托管的意思是允许人们把代码放到 Github ,并为团队开发提供一种比较简单的代码同步方法。Git 是一个分布式的版本控制工具。分布式主要是针对已有的 SVN 、CVS 受中央控制的版本控制工具而言的。在git里,每个代码库在相互独立的同时,又可以相互交换代码(通过push/pull)进行代码的交换。这里主要介绍Github在 Windows 上的使用。

    安装 Github for Windows

    http://windows.github.com/上下载 Github for Windows ,按提示安装即可。在安装过程中,git 的命令行版本也会一并安装。虽然在 Windows 下大多数应用都是基于图形界面的,但是使用 git 还是很有必要用命令行。

    Github for Windows 实际上是 Github 网站的客户端版本,有网站上的一切功能,并且,为上传、更新位于 github.com 的代码库进行了良好的支持。使用 Github 帐号登陆以后,在图形界面里可以轻易地创建代码库。

    Git 常用命令使用

    命令行里git的命令列表以及解释:

    • git clone <address>:复制代码库到本地。
    • git add <file> ...:添加文件到代码库中。
    • git rm <file> ...:删除代码库的文件。
    • git commit -m <message>:提交更改,在修改了文件以后,使用这个命令提交修改。
    • git pull:从远程同步代码库到本地。
    • git push:推送代码到远程代码库。
    • git branch:查看当前分支。带*是当前分支。
      • git branch <branch-name>:新建一个分支。
      • git branch -d <branch-name>:删除一个分支。
    • git checkout <branch-name>:切换到指定分支。
    • git log:查看提交记录(即历史的 commit 记录)。
    • git status:当前修改的状态,是否修改了还没提交,或者那些文件未使用。
    • git reset <log>:恢复到历史版本。

    看了这些命令以后,对里面的名词肯定有所疑问。代码库应该很好理解,就是存放代码的地方,而在git clone 里,代码库一般指的是远程的代码库,即 github 给出的链接。而分支则是开发的一个阶段或者一个旁系版本,至于怎么定则取决于使用者了。例如,有一个分支叫做stable,代表里面的代码是经过测试的、稳定的;另一个分支叫dev,则是保存开发中的代码,不一定经过足够测试。

    一般的开发流程

    一般使用 git 的流程: 1. 编辑文件,更新代码。 2. 添加代码到当前待提交的更改列表中:git add <修改的文件>。 3. 提交当前修改作为一个记录:git commit -m '修改了<修改的文件>,原因是:……'。 4. 更新代码:git push

    常见问题

    这里的常见问题只是基于我的使用经历,如果有错或者有更好的想法,留言通知我~

    1. 什么时候提交更改记录( commit )?

      这个问题其实很随意,新增一个特性或者破坏了原有结构,甚至每一次改动都可以作为提交更改记录的依据。

    2. 什么时候推送更新( push )?

      一般来说,更改了项目的结构(包括文件、目录),就应该尽快推送更新,以通知其他协作者跟进这个更新。对于其它细微的修改,没有破坏到别人的工作的,可以随自己的想法更新(如果是提交了某些激动人心的特性,就赶紧推送给别人分享吧~ )

      不过切记,更改了目录结构、文件结构等一定要在commit中写清楚,否则别人可能还是一头雾水。

    3. 什么时候和远程同步( pull )?

      每次开始工作前都应该同步一下,以免自己的修改和别人冲突或者别人做了结构性的调整和自己的修改不协调了。

    4. 分支( branch )的使用?

      至于远程分支的使用,可以参考 github 的推荐方法功能划分方法,来自,就是说,每一个功能设定一个分支,当修改完成以后再合并到 master ,保证 master 分支是可用的。

      对于本地分支(就是本地代码库的分支了,这两个是不同的概念哦,记得 git 是分布式的,每个代码库有关联但又互相独立),使用就比较随便了。主要是方便自己开发即可。

    5. 怎么解决冲突( conflict )?

      在团队开发中,同时对某一个文件进行改写是常见的事,但是我们应该尽可能避免。每个模块之间应该进行良好的隔离。但一旦遇到冲突,git也有很好的解决方法。

      在同步代码的过程中,git会自动检查冲突,并尝试进行自动合并。最好的情况应该是大家同时修改一个文件,但是大家修改的地方不同了。在这样的情况下,git会进行非冲突合并,这时,在调用git pull 的时候,git会尝试进行非冲突合并。

      而在合并过程中有冲突的时候, git 会把修改记录直接保存在文件中,让开发者判断文件如何解决合并。例如,在一个描述文件中同时修改了一句话,在合并的时候,git会这么做:

      <<<<<<< HEAD
      It's not a project cool enough for you to enjoy the code but a mix of my thoughts in the year 2012~2013. I didn't know where the project leads to. Hope it will became useful after practice.
      =======
      It's not a project cool enough for you to enjoy the code but it's a mix of my thoughts in the year 2012~2013. I didn't know where the project leads to. Hope it will became useful after practice.
      >>>>>>> 2b41083cf969979d8e4a1eedc987976af544d129
      

      即把两个更改都写在文件上,但是用=======来区别发生冲突的位置,在=======以上是 HEAD,即本地的代码;而=======以下则是来自远程的更改了。这个时候,你可以选择保留远程或本地的修改或者都不要(简单地说,把不需要的内容删除即可)。

    6. 怎样恢复到历史版本( reset )?

      使用 git log 查看更改记录,记住其中的 commit 版本号,然后,运行 git reset <log> --hard 即可( <log> 即 commit 版本号)。另外, git reset HEAD 可以恢复到上一个 commit 版本。

      如果只是想把更改状态切换到某一个历史记录,那么,可以 git reset <log> 这样,文件不会恢复到历史版本,但是,在这个记录后修改的文件会被标记为已修改,但未添加修改记录里。

    展开全文
  • github使用指南

    2015-10-31 19:23:48
    介绍git的专业文件,全面地讲解了如何使用git,应该是git使用的首选指南
  • GitHub 使用指南

    2019-05-17 17:48:40
    github使用 建立一个分支 在github上使用new repository建立一个名rep_name文件夹 建立一个同名rep文件夹mkdir rep_name,并在文件夹中使用git init建立git 在该文件夹下使用git remote add origin git@github....

    github使用


    建立一个分支

    1. 在github上使用new repository建立一个名rep_name文件夹
    2. 建立一个同名rep文件夹mkdir rep_name,并在文件夹中使用git init建立git
    3. 在该文件夹下使用git remote add origin git@github.com:user_name/rep_name.git来连接github

    文件操作

    本地文件是你的工作区
    添加文件(文件修改加入暂存区)

    git add filename
    

    修改文件之后提交(把暂存区的内容一起提交到分支)

    git commit -m "change reason"
    

    查看文件区别

    git diff HEAD -- filename
    

    查看git状态

    git status
    

    将文件在工作区的修改撤销(最近一次add commit 的状态)

    git checkout -- filename
    

    将文件暂存区的修改撤销(重新放回工作区)

    git reset HEAD file
    

    将已经删除的文件从git中移除

    git rm filename
    

    上传和克隆

    上传本地内容到github

    git push -u origin master %first time
    git push origin master %normal condition
    git push origin branch_name
    

    克隆一个github上的项目

    git clone git@github.com:user_name/rep_name.git
    

    查看远程库的信息

    git remote % -v 查看更多
    

    分支管理

    创建分支并切换

    git checkout -b newbranch
    %equal
    git branch newbranch
    git checkout newbranch
    

    查看当前分支

    git branch
    

    合并分支

    git merge newbranch
    

    删除分支

    git branch -d newbranch
    

    标签

    制作新标签(没有commit ID 会打在最新的commit上)

    git tag tag_name (commit id)
    git tag -a tag_name -m "tag information" %带说明的标签
    

    查看标签信息

    git show tag_name
    

    删除标签

    git tag -d tag_name %删除本地
    git push origin :refs/tags/tag_name  %删除远程
    

    参考 廖雪峰git教程

    展开全文
  • GitHub使用指南

    2019-04-16 20:45:00
    github使用 git 工具的基本使用 基本步骤: 一、github使用 1.github账号的创建【官网一步一步创建就行了,这一步骤省略】 2.创建远程仓库: 创建完账号后,我们就可以创建仓库了,首次创建仓库时需要验证...

     

    简介:

    SSH公私钥的使用

    github的使用

    git 工具的基本使用

    基本步骤:

    一、github的使用

    1.github账号的创建【官网一步一步创建就行了,这一步骤省略】

    2.创建远程仓库:

    创建完账号后,我们就可以创建仓库了,首次创建仓库时需要验证我们申请github账号时使用的邮箱,验证步骤按邮件一步步来就行了:

    验证完毕后,再次点击 Start a project ,填写项目名称和描述,勾选 Public 选项和自动初始化 README.md 勾选框,如下图:

    点击 Create repository,就创建成功了。

    二、SSH公私钥的使用

    1.创建密钥

    首先在终端敲入如下指令,然后一直按回车下去,这样会把密钥文件放置在默认路径 ~/.ssh/ 下,并且会创建一套空密码验证的密钥文件,如果不一直按回车的话,在每一次匹对公私钥都需要再手动输入一次密码,为了解决总是输入密码的麻烦,建议一值按回车下去,过程如下:

    2.接下来我们看看密钥文件创建成功了没,因为我们一直按回车下来的,则密钥文件在默认路径~/.ssh/,查看:

    我们可以看到,密钥文件存在,其中有后缀.pub的是公钥文件,没有后缀的是密钥文件,至此密钥文件就创建成功了。

    3.关联公钥到github账号下:

    (1)首先用cat指令把,公钥文件中的内容提取出来,也就是 ssh-rsa 文件开头到 ttwang@ttwang-ilumao[用户名@主机名] 这段字符串,然后复制下来:

    (2)然后回到github, 点击右上角头像的下拉按钮,选择 Settings:

    然后在 Settings 页面中选择菜单里的 SSH and GPG keys,然后点击右上角的 New SSH key 按钮,填写 TitleKey,(Title可以任意填写,这里本人写的是github学习)  然后点击 Add SSH key 按钮提交就行了:

    创建成功显示:

    三、安装git工具

    (1)通常ubuntu都默认配置了git工具,我们可以通过终端敲入如下指令查看:

    git --version

    我的显示,已经存在了git工具:

    如果没有,终端敲入如下指令进行安装:

    sudo apt-get install git -y

    (2)配置用户名字与邮箱:[github的邮箱与账号]

    1 git config --global user.email "you@example.com"
    2 git config --global user.name "Your Name"

    四、克隆远程仓库到本地个人PC

     (1)登录个人github远程仓库,点击Clone or download 进行克隆,然后点击Download ZIP下载:

    (2)因为我们已经关联了SSH, 所以可以通过git工具进行克隆,具体步骤如下:

     首先到远程仓库中,点击 Clone or download 按钮,选择使用 Use SSH,然后点击复制链接按钮,复制的内容是【git@github.com:ttwang0303/github-.git】,然后终端敲入如下命令:

    (3)查看仓库是否克隆到本地:

    五、对克隆到本地的仓库进行修改

    (1)添加: 

    把一个新文件添加到本地仓库中,使用git add命令,具体步骤如下:

    创建一个新的txt文件,文件内容就写“中国浙江杭州”

    将这个文件移动到仓库下,并用 git add 命令添加到本地仓库中并查看:   ps :git add 用法: git add <文件名|路径名>

    (2)删除:

    删除用git rm 命令, git rm 用法 git rm [-rf] <文件名|路径>,步骤如下:

    (3)撤销:

    如果在本地仓库进行了一下改动,但没有上传到远程仓库,是可以通过命令git reset,比如我们上面的操作撤销,这样就可以把删除的README.md找回来,具体步骤可以这样做:

    终端敲入指令:

    git reset --hard HEAD

    六、提交仓库的改动并推送到远程仓库:

    (1)提交仓库改动.,需要用到命令 git commit,只有做好提交动作,才能推动到远程仓库,具体用法:

    git commit -m "你的提交备注"

    (2)下面我们对仓库做一些改动,重新创建一个新的文件,内容就写“控制工程”,然后提交改动,提交备注写为'添加一个新得测试文件'

    (3)推动改动到远程仓库

    当我们提交了仓库的改动后,就可以推送改动的内容到远程仓库了,用 git push 命令来推送

    git push用法:

    git push [-u] origin <分支名>    #分支名默认是 master 

    操作如下:

    然后我们在远程仓库上可以看到,可以发现这个文件已经推送上来了,并且对应的行会显示之前提交操作的备注

    七  参考资料:

    实验楼:Github 快速上手实战教程

    ---恢复内容结束---

    转载于:https://www.cnblogs.com/ilym/p/10719916.html

    展开全文
  • github 使用指南

    2019-12-02 17:25:11
    github的好处: 多人协作,多分支 谁做了改变? 做了什么改变? 改变什么时候发生? 为什么这些改变被需要?【输入】 github的目的:托管项目代码 github建立在git的环境上。一个git库对应...

    github的好处:

    多人协作,多分支

    • 谁做了改变?

    • 做了什么改变?

    • 改变什么时候发生?

    • 为什么这些改变被需要?【输入】

    github的目的:托管项目代码

    github建立在git的环境上。一个git库对应一个

    名词解释:

    (1)repository【仓库】 / Git Project: 存放项目代码,开源项目

    (2)star【收藏】 收藏项目,方便查找(100个收藏很不容易)

    (3)Fork【复制,克隆】 把张三的项目直接fork过去,一模一样【独立存在】

    (4)pull request 【发起请求,把更新动作发送过去】 单独添加代码。发起请求等待李四查看,并在张三同意后合并到原仓库

    (5)Watch【关注项目】 有任何更新,都可以查看到通知

    (6)Issue【发现bug,及时讨论】

    (7)commit【一瞬间拍下来,截图】

    (8)branch【master主+fearure复制品(需要被合并)】

    (9)topic 给自己的项目设置 topic 后,相当于自己给自己的项目设置了一个 tag ,这样可以方便别人搜索。比如要搜索所有 topic 为 android 的项目,你只需要在 GitHub 搜索时输入 `topic android ` 然后搜索即可。

    快捷键t:findfile

    功能详细:

    Issue【发现bug,及时讨论】

    开源项目贡献:

    (1)新建Issue

    (2)pull Request

    ———fork

    ———修改

    ———pull request

    ———等待作者操作


    git:通过git管理github托管项目代码

     

    第一部分:本地仓库

    git add test.python【放到暂存区】

    git status【查看状态】

    git commit -m "提交描述"

    先初始化用户信息:

    打错了,下面应该是user,email

     

    暂存

    暂存区已经有了

    然后:git add hello.py

    修改文件上传:

    删除文件:

    删除

     

    第二部分:远程仓库

    (1)先克隆

    git clone 仓库地址

    一次输入账户信息就足够了

    (2)然后按之前的操作顺序存放到本地仓库

    git add ...

    git commit ... -m "..."

    git push

    (3)git push

    修改权限:

    在github页面查看成功:

     

     

     

    使用建议

    ●对于一些可能会经常发生变化的会不定期更新的好项目 多使用 watch. 比如 android-cn 团队的 android-discuss 项目,你就可以 watching 它,这里面都是一些关于 Android 技术的交流,如果有任何新问题,你都可以收到通知,你可以查看别人的回答,你也可以回答别人提出的问题,这是一个很好的学习成长方式。

    ●只要项目新增一些好玩好用的东西,你就会收到通知。

    ●知乎上有这样的问题: github 上有哪些值得 watch 的项目

    ●值得注意的是,如果 watch多了,你可能会被无休止的邮件通知烦死(邮件通知可设置),因为被 watch 项目有任何留言、PR等更新都会触发通知,所以做好权衡。

    ●喜欢一个项目就 star 它吧~

    ●修改开源项目就使用 fork,这样你就可以在原项目的基础上,对项目进行修改提交,现在你是这个项目的主人啦~

     

    参考:

    https://www.bilibili.com/video/av39189147

    https://www.cnblogs.com/bibi-feiniaoyuan/p/9519467.html

    https://www.bilibili.com/video/av39189147

    如何正确设置邮箱【先放着,以后看】:如何正确接收 GitHub 的消息邮件

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,094
精华内容 2,037
关键字:

github使用指南