git

发布时间:2014-10-23 23:30:46
来源:分享查询网

首先要了解git和svn的区别 我觉得最大的区别在于,svn没有本地版本库,而git有。 git的理念是所有的改动都在本地提交,觉得代码差不多多了,再发布到远程版本库 1. 配置本地git   首先在本地创建ssh key; $ ssh-keygen -t rsa -C "your_email@youremail.com" 后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。 回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入: $ ssh -T git@github.com 如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。 接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。 $ git config --global user.name "your name" $ git config --global user.email "your_email@youremail.com" 进入要上传的仓库,右键git bash,添加远程地址: git remote add origin git@github.com:defnngj/hello-world.git 4.提交、上传 接下来在本地仓库里添加一些文件,比如README, $ git add README $ git commit -m "first commit" 上传到github: $ git push origin master git push命令会将本地仓库推送到远程服务器。 git pull命令则相反。 修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。 git add . 就是添加所有代码 可能出现的问题 5.3.1 问题一 执行下面语句报错 1 git remote add origin git@github.com:defnngj/hello-world.git 错误提示:fatal: remote origin already exists. 解决办法: 1 git remote rm origin 然后在执行: 1 $ git remote add origin git@github.com:defnngj/hello-world.git error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容     4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc     5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了! 5.3.2 问题二 执行下面语句报错 1 git push origin master 错误提示:error:failed to push som refs to....... 解决办法: 1 $ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。 2. 在本地修改的文件, git commit -am 'modify ....' 3. 版本回退 这个暂时还没有理解... git reset –-mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可 git reset –-hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容 如果我们某次修改了某些内容,并且已经commit到本地仓库,而且已经push到远程仓库了 这种情况下,我们想把本地和远程仓库都回退到某个版本,该怎么做呢? 1, git reset –hard 版本号  2, git push origin 分支 -f 这个操作还是慎用,版本库一旦回退,就不是我目前所能掌控的范围了。 也就是说即使是回退也是在本地代码上修改后提交,这样总能恢复到之前的任何版本,如果采用reset的方式,就彻底找不到回退点之后的信息了 git clone   如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。 执行 git clone [url],[url] 为你想要复制的项目,就可以了。 $ git clone git://github.com/schacon/simplegit.git Initialized empty Git repository in /private/tmp/simplegit/.git/ remote: Counting objects: 100, done. remote: Compressing objects: 100% (86/86), done. remote: Total 100 (delta 35), reused 0 (delta 0) Receiving objects: 100% (100/100), 9.51 KiB, done. Resolving deltas: 100% (35/35), done. $ cd simplegit/ $ ls README Rakefile lib 上述操作将复制该项目的全部记录,让你本地拥有这些。并且该操作将拷贝该项目的主分支, 使你能够查看代码,或编辑、修改。进到该目录中,你会看到 .git 子目录。 所有的项目数据都存在那里。

返回顶部
查看电脑版