`

git/github初级运用自如

    博客分类:
  • git
 
阅读更多

   之前初学过一点git版本控制工具,利用github做仓库,照着github上的文档练习的了一下。不过那只篇只是照虎画猫(我的水平只能照着老虎画个猫模样,嘻嘻!)。

最近在学hibernate,公司与家之间都要调用我练习的小项目,交给git/github来管理,我只想说真的爽歪歪了。

本文在我之前的那篇《git/github学习笔记》的基础上,属于那个的升级加强版,欢迎对照阅读:http://www.cnblogs.com/fnng/archive/2011/08/25/2153807.html

如果本文有不太明白的地方请参考上面的文章。

 

Github: git项目托管网站,请先免费申请一个github帐号:www.github.com

Git:分布式版本控制工具,http://d.download.csdn.net/down/3169511/z_y_liu89

 

Github的申请与git的安装我这里就不说了。这个不难。

 

----//git/github环境配置

 

一 .  github上创建立一个项目

用户登录后系统,在github首页,点击页面右下角“New Repository”

填写项目信息:

project name: hibernate-demo  

description : my first project

点击Create Repository” ; 现在完成了一个项目在github上的创建。

说明:我们创建的是一个github仓库,一个仓库里只能存放(或叫对应)一个项目。

当你创建完成一个仓库的之后,github已经给你一个提示:当你看完了我的文章再来看这个提示就非常清楚了。

 

复制代码
Global setup:
 Set up git
  git config --global user.name "Your Name"
  git config --global user.email defnngj@gmail.com
      
Next steps:
  mkdir hibernaet-demo2
  cd hibernaet-demo2
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:defnngj/hibernaet-demo2.git
  git push -u origin master
Existing Git Repo?
  cd existing_git_repo
  git remote add origin git@github.com:defnngj/hibernaet-demo2.git
  git push -u origin master
Importing a Subversion Repo?
  Click here 
When you're done:
  Continue
复制代码

 

 

二  .  创建密钥

我们如何让本地git项目与远程的github建立联系呢?之里就用的密钥。通俗点叫口令吧!(天王盖地老,宝塔镇河妖。。)

 

$ cd ~/. ssh 检查本机的ssh密钥

如果提示:No such file or directory 说明你是第一次使用git

如果不是第一次使用,请执行下面的操作,清理原有ssh密钥

 $ mkdir key_backup
 $ cp id_rsa* key_backup
 $ rm id_rsa*

生成新的密钥:

Ssh-keygen –t rsa –C “defnngj@gmai.com” 

 

注意: 此处的邮箱地址,你可以输入自己的邮箱地址。在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。

 

打开本地C:\Documents and Settings\Administrator\.ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。

登陆github系统。点击右上角的 Account Settings--->SSH Public keys ---> add another public keys

把你本地生成的密钥复制到里面(key文本框中), 点击 add key ok

git中运行下面命令:

 

$ git –T git@github.com

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了

 

三 . 设置用户信息

这一步不是很重要,貌似不设置也行,但github官方步骤中有,所以这里也提一下。

git中设置用户名,邮箱

 

$ git config --global user.name "defnngj"//给自己起个用户名
$ git config --global user.email  "defnngj@gmail.com"//填写自己的邮箱

 

github中找到 Account Settings--->Account Admin ,找到一下信息:

Your API token is e97279836f0d415a3954c1193dba522f ---keep it secret! Changing your password will

generate a new token

$ git config --global github.user defnngj      //github 上的用户名
$ git config --global github.token e97279836f0d415a3954c1193dba522f

 

 

 

----//小玩一下git

 

 

上面都是准备工作,一次完成,以后就不用设置了。下面内容才是亮点。

 

先来说说git下常用的几个基本操作,和linux系统的操作是一样一样的:

复制代码
$ ls   查看当前目录的内容

$ cd  /d   切换到d盘

$ cd  java/   打开当前目录下的java目录

$ cd  j(table键)  如果当你想打开java目录且当前目录下只有一个j开头的目录,输入J 然后按键盘上的table键,会自动帮你补齐。

$ cd ..  返回上一级目录
复制代码

 

假如你现在新创建了一个项目,想把它提交到github上面?

 

假设你创建好了一个项目,并切换到项目的根目录下面:

$ git status   //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。

$ git add .   //.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。

Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。

$ git commit –m”new natter ”  //对你更新或修改了哪些内容做一个描述。

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。

Psorigin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。

$ git remote -v  //查看你当前项目远程连接的是哪个仓库地址。

$ git push -u origin master  //将本地的项目提交到远程仓库中。

 

 ------------------------------------------------------------

假如,你回到了家,想把公司提交的项目克隆到本地?

 

如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。

$ git clone git@github.com:defnngj/hibernate-demo.git  //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。

 

假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?

$ git fetch origin    //取得远程更新,这里可以看做是准备要取了

$ git merge origin/master  //把更新的内容合并到本地分支/master

 

------------------------------------------- 

项目中删除了一些文件,如何提交?

 

假如远程仓库中已经存了aaa这个文件,我fetch了下来,并删除了aaa这个文件,想再push上到远程仓库中,并使远程仓库中的项目被新的修改覆盖(也是是远程仓库中的aaa也被删除)

$ git status   //可以看到我们删除的哪些文件

$ git add .   //删除之后的文件提交git管理。

$ git rm   src/com/hzh/hibernate/dao/aaa.java    //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。

Ps: 如果你想删除的是某个目录(java包),这里想移除整个目录的内容。

$ git rm  src/com/hzh/hibernate/bbb/ -r   // -r 会把bbb/目录下的所有内容一次性移动。

 

------------------------------------------------------------------------

远程创建了一个新仓库,本地创建了一个新项目,如何使新的项目与仓库对应起来?

 

其实,这个也很简单,只是我当时对那些命令不太理解,所以比较模糊,不知如何对应。

 

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//还是这个命令,在你push项目之前加上这一句就OK了。

git@github.com:defnngj/hibernate-demo.git 就是你常见的新仓库的地址啊。git切换到新项目下,在push之前,加上这一句,我们创建的新仓库就与新项目建立了连接。

 

 

怎么样?掌握了上面的那些,你是不是就可以在项目中把玩一下了。Git很强大,这些只是冰山一角,不过对新手来说暂时够用了。

Ps:前两天聊天,一哥们说又发现个藏片的好地方,可以把岛国的小电影用这个管理,就不怕个人隐私被别人发现了尴尬。哈哈,你要不要试试。

 

分享到:
评论

相关推荐

    解决fatal:remote error:You can’t push to git://github.com/username/*.git问题的办法

    解决fatal:remote error:You can’t push to git://github.com/username/*.git问题的办法 今天Git push的时候 fatal:remote error: You can't push to git://github.com/username/*.git Use git@github....

    torch(git clone https://github.com/torch/distro.git ~/torch --recursive)

    torch 项目完整代码,公司无法使用git,所以放了个备份在csdn上 (git clone https://github.com/torch/distro.git ~/torch --recursive)

    curl https://github.com/curl/curl.git

    标题 "curl https://github.com/curl/curl.git" 指的是使用 `curl` 命令行工具从 GitHub 克隆 `curl` 项目的 Git 仓库。`curl` 是一个用于传输数据的命令行工具,它支持多种协议,包括 HTTP、HTTPS、FTP 等。在本例...

    最新Git与Github首篇巨作课程 Git&Github极速入门与攻坚实战结合课程 一次搞定Git.txt

    Git与Github教程详细介绍了Git的工作机制,Git命令行的基础学习,Git-Eclipse和Nginx的准备工作,Git与Github分支体系,Git与Github的远程和本地工作原理,Git与Github克隆实战和最后的课程精华总结部分,可以帮助...

    解决 github项目clone报错 Failed connect to github.com:443; 解决

    系统环境:CentOS Linux release 7.6.1810 (Core) 起因:npm构建时报错 ... fatal: unable to access 'https://github.com/nhn/raphael.git/': Failed connect to github.com:443; Connection timed out npm

    qt开源项目借鉴,地址https://github.com/wang-bin/QtAV.git

    qt开源项目借鉴,地址https://github.com/wang-bin/QtAV.git

    Github、git 学习笔记.pdf

    个人github、git学习笔记。包含Github和git的基础命令和介绍。由于网络问题在国外很难插入图片,把源文件的pdf导出版本进行上传。

    解决fatal:remote error:You can't push to git://github.com/username/*.git问题的办法

    在使用Git进行版本控制时,有时会遇到"fatal: remote error: You can't push to git://github.com/username/*.git"这样的错误提示。这通常意味着您试图向GitHub推送代码,但因为使用的协议不支持写入操作,导致推送...

    利用git从github上拉取项目

    假设你要从GitHub上拉取的项目URL为`https://github.com/用户名/项目名.git`,在Git Bash中执行: ```bash git clone https://github.com/用户名/项目名.git ``` 这将创建一个新的本地目录,其中包含从GitHub上拉取...

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...

    build-a-molecule:“构建分子”是PhET Interactive Simulations在HTML5中进行的教育模拟

    快速开始(1)克隆仿真及其依赖项: git clone https://github.com/phetsims/assert.gitgit clone https://github.com/phetsims/axon.gitgit clone https://github.com/phetsims/babel.gitgit clone ...

    完全学会Git、GitHub、Git Server的24堂课

    完全学会Git、GitHub、Git Server的24堂课

    CocoaPodsSpecs:CocoaPods规格

    source 'https://github.com/CocoaPods/Specs.git' # Default global repository source 'git@github.com:PhenixRTS/CocoaPodsSpecs.git' # Phenix repository 例子 source '...

    Git和GitHub教程

    Git和GitHub是软件开发领域中不可或缺的工具,尤其在开源项目和团队协作中扮演着重要角色。Git是一款分布式版本控制系统,而GitHub则是一个基于云的服务平台,提供了Git仓库托管、代码审查、问题追踪以及社交网络...

    icdar2015.txt

    链接: https://pan.baidu.com/s/1j5r9eSiPS6xiskE1LZl8zQ 提取码: ejqd ,如果没有积分的同学,可以通过链接下载,上传资源不易,希望大家共同学习

    git&github;学习笔记

    ### Git与GitHub学习笔记知识点详解 #### 一、Git版本控制系统概述 **1.1 Git简介** Git是一款分布式版本控制系统,由Linus Torvalds在2005年开发,用于Linux内核的开发。Git的主要特点包括支持离线开发、强大的...

    Git-2.22.0-64-bit.zip

    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 windows下本地git服务器端安装教程,请参考:https://blog.csdn.net/qq_41638825/article/details/93601191

    Git/GitHub实战视频

    Git作为目前最流行的版本控制工具,已经是团队开发必须掌握的技能之一,而github也是目前最大的开源平台。因此,学习git和github是每一位程序员的必经之路。 本课程从git理论讲起,详细的介绍了在实际开发中遇到的...

    C++ QT SMTP 发送邮件(最新,成功的)

    转载别人做好的东西,非常的好 之前在CSDN中,也尝试了很多发送邮件的代码,总是遇到各种各样的问题, 现在找到了这个好东东,和大家分享... git clone git://github.com/bluetiger9/SmtpClient-for-Qt.wiki.git */

Global site tag (gtag.js) - Google Analytics