lzf79 发表于 2018-1-15 09:09:54

Git/Github的使用以及与Eclipse的整合

  Git简介
  Git是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。
  Git 在管理项目时,在本地会有三个工作区域:Git 的本地数据目录,工作目录以及暂存区域。如下图所示:
https://images0.cnblogs.com/blog/453160/201307/29162354-d7170125fe9b4ef186977d8020fe2b8c.png
  因此对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。
  安装及配置Git
  终端运行:
  sudo apt-get install git git-core
  首先去https://github.com/ 注册一个账户,当然是free and opensource的用户了。
  根目录下创建git目录。
  mkdir ~/git
  初始化两个参数:
  git config --global user.name = "username"
  git config --global user.email = "***@*****"
  因为本机是通过ssh链接github的,所以先创建ssh密钥。
  看一下本机是否已经有ssh的密钥。
  cd ~/.ssh
  提示没有文件或者目录的话说明本机还没有创建过,继续执行
  ssh-keygen -t rsa -C "your_email@example.com"
  一路Enter,在根目录下面就会生产.ssh文件夹(隐藏,查看隐藏文件夹的话按Ctrl+H),里面有生产的密钥文件。
  用gedit打开~/.ssh/github.pub,将文件内容拷贝到剪切板,(最好用gedit,其他的工具可能出现换行空格)
  回到github的页面,点击Acount setting,
https://images0.cnblogs.com/blog/453160/201307/29162355-758ddc0ee67b4a17bef94900377161c3.png
  点SSH Keys,
https://images0.cnblogs.com/blog/453160/201307/29162356-b5e781dff22742ee909ec158a5c8c2b0.png
  title随便取,key里面把之前复制的公钥的内容粘进去
https://images0.cnblogs.com/blog/453160/201307/29162358-8b18022daddb4cb5a7df8cde8716ae21.png
  点Add。
https://images0.cnblogs.com/blog/453160/201307/29162358-aa50794076834892877eb1dbb40b7385.png
  终端测试一下:
  ssh -T git@github.com
  成功连接的结果就想这样:
https://images0.cnblogs.com/blog/453160/201307/29162359-d1f1792d66fe44e48513e51c7b158b20.jpg
  如果出现
  Agent admitted failure to sign using the key.
  Permission denied (publickey).
  执行
  ssh-add
  再进行连接就没问题了。
  使用git
  最简单的一种使用方式就是从github上下载别人的开源项目。
  打开一个开源工程的页面
https://images0.cnblogs.com/blog/453160/201307/29162401-a79e8d8ef1d24cebb3a63c298a16b0ec.jpg
  直接点击左上角的zip包就可以下载工程了。
  更方便一些的做法是在终端运行命令来下载源码。
  终端运行:
  git clone https://github.com/SimonVT/android-menudrawer.git
  会自动下载整个工程到当前的目录。
  接下来要实现的是分享自己的项目到github上,并进行版本控制。
  首先在github上面创建工程。
  在个人主页上点击Responsitories选项卡的New
https://images0.cnblogs.com/blog/453160/201307/29162402-41d628bcca7a43cb8b2f097c53fe125a.png
  填写一些信息,点Create respository
https://images0.cnblogs.com/blog/453160/201307/29162404-b7120aeb053d4a4db7f1f0a11c2d1a93.jpg
  github上的项目就创建好了。
  接下来从服务器下载工程及配置文件到本地。
  终端运行:
  mkdir ~/git/repos
  cd ~/git/repos
  git clone git@github.com:***/***.git
  执行完毕后,repos文件夹下就拷贝好了github上的项目。
  本地进行项目编辑,比如添加一个文件之后,
  可以通过下面的命令来更新项目了。
  git add . //往暂存区域添加已添加和修改的文件,不处理删除的文件
  git status //比较本地数据目录与暂存区域的变化
  git commit -m "commit directions" //提到代码到本地数据目录,并添加提交说明
  有可能你和其他人改的是同一个文件,那么冲突的情况是在所难免的,那么在提交之后再获取一下代码,就会提示代码冲突的文件,我们需要做的就是处理这些冲突,并再次提交:
  git pull //更新代码
  根据提示修改冲突文件中的代码
  git add .
  git commit -m "commit directions"
  当做完以上的步骤的时候,你需要做的是把本地数据目录的版本库的数据同步到GitHub服务器上去
  git push
  提交完成之后刷新github的页面,发现文件已经跟新好了。
https://images0.cnblogs.com/blog/453160/201307/29162405-ccb1afcc0df04ea09bfe9305de1139c2.jpg
  在Eclipse中整合git
  首先安装git插件,在Eclispe中,
  Help->Install New Software.
  输入地址
  http://download.eclipse.org/egit/updates
  接着一路下一步,插件就安装好了。
  在Eclipse中创建一个工程。
  然后在工程上右击->Team->Share project->git->next.
https://images0.cnblogs.com/blog/453160/201307/29162406-227d62fc25864565b3501968c3bba6a3.png
  选择Use or create repository in parent folder of project,如下图,点finish。
https://images0.cnblogs.com/blog/453160/201307/29162408-b396f0cc86b14c19b0e3938d2c3b228b.png
  执行完成之后项目文件夹下就会创建好一个.git的文件夹,仓库就创建好了。
  由于项目中的有一些文件没有必要上传,比如bin文件夹,需要在项目中设置好。
  展开对应的项目,有小箭头的表示需要上传到服务器的目录,在不想要上传的目录上右击,Team->Ignoe,该目录就会被忽略了。
  下面来commit代码到本机一下。
  项目上右击Team->commit。
https://images0.cnblogs.com/blog/453160/201307/29162411-a33d0fa89d714f35ae3eaf52094db234.png
  选中要commit的文件,点commit,完成之后,代码就上传到本地的服务器了。
  接下来把代码上传到github的服务器。
  命令行中进入到项目的文件夹,运行
  git remote add origin https://github.com/SilangQuan/LinearCompiler.git
  再执行
  git push -f
  成功执行后就像这样:
https://images0.cnblogs.com/blog/453160/201307/29162418-5221b0aaf7ff4ae0888612b124bda9c2.png
  查看github的项目主页,发现文件已经上传好。
https://images0.cnblogs.com/blog/453160/201307/29162420-0124b7a50d4b4a1e802073b36b66d955.jpg
  之后在Eclipse中修改好项目代码之后,commit之后直接在项目上右击Team->push就可以进行代码提交。
  上传到github上之后,团队中另外的成员可以通过Eclipse->File->Import->Project from Git->URI来提取工程。
  在团队开发中,通常在新的一天的开始工作之前,把最新的代码fecth下来。
  直接在项目想右击->Team->fetch
  再执行->Team->Merge.
  服务器上的新文件就会添加进来了。
  参考:
  来自:http://www.open-open.com/lib/view/open1369361562766.html
页: [1]
查看完整版本: Git/Github的使用以及与Eclipse的整合