git/github使用
以下是全部在命令行使用(windows/github)
注册账户以及创建仓库
先在github建立账号和创建仓库,此时为空的仓库
配置git
下载并安装 git windows版本(it-2.7.2-32-bit_setup.1457942412.exe)
首先在本地创建ssh key
运行 git bash here:
ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email @youre mail.com改为你在github上注册的邮箱,之后会要求
确认路径和输入密码,我们这使用 默认的一路回车就行。成功的话会在~/下
生成.ssh文件夹,进去,打开id _rsa.pub,复制里 面的key。
回到 github上,进入 settings
把上面生成的id_rsa.pub的内容复制放到 4 指示那里,3中的随便指定一个名称
为了验证是否成功,在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 remote add origin git@github.com:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库
检出仓库
执行如下命令以创建一个本地仓库的克隆版本:
git clone /path/to/repository
如果是远端服务器上的仓库,你的命令会是这个样子:
git clone username@host:/path/to/repository
接下来,就可以在本地修改,再提交
基本操作如下
git add filename
git commit -m "注释"
git push origin master
以上即可修改完成
=======================
以下是多人合作开发项目
常用方法是,一个master,别的开发成员,fork一个项目出来, 然后在 fork
出来的项目再克隆到本地,与上面的操作一样的,此时开发的只是与fork
相关的,然后再 pull到 master,当在 master中看到有冲突时,看提示操作
即可解决冲突问题
=============
fork之后保持原代码同步
1.进入本地项目目录,输入 git remote -v:
红框内的url是我Github上的项目,蓝框内的url是原作者项目。如果没有
upstream,即没有原作者项目的url,你需要自己添加:
$ git remote add upstream <原作者项目的URL>
2.将原作者项目更新的内容同步到我的本地项目(不是我Github网上的项目)
git pull upstream
3.检出到主分主
git checkout master
4.接下来就是合并这两个分支,将原作者项目的修改同步到自己这里
(注意还是指本地项目,不是自己Github空间里的项目)
git merge upstream/master
如果有冲突,会有这里提示,修改好冲突的文件即可,然后再提交
至此我的本地项目已经于原作者项目同步了
接着再同步到 fork上面,即保持同步了
=============================
TortoiseGit为github账号添加SSH keys,即用 TortoiseGit操作时
使用TortoiseGit作为github本地管理工具,
TortoiseGit使用扩展名为ppk的秘钥,而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -C "username@email.com" -t rsa产生的密钥
TortoiseGit中不能用。而基于github的开发必须要用到rsa密钥,
因此需要用到TortoiseGit的putty key generator工具来生成既适用于
github的rsa密钥也适用于TortoiseGit的ppk密钥。
打开TortoiseGit下的PuttyGen,在打开的窗口中点击Generate按钮,
会出现绿色进度条,等下生成,生成过程中可以多晃晃鼠标增加随机性。
生成之后复制生成的全部内容,窗口先留着不关闭。
登录到github,回到 github上,进入 settings,将刚刚复制的内容粘贴到公钥那里即可
返回到第二步的窗口,点击Save private key按钮保存为适用于TortoiseGit的私钥扩展名为.ppk。
运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,双击该图标,弹出key管理列表。
在弹出的key管理列表中点击add key,将第4步中保存的私钥(.ppk)文件加进来,关闭对话框即可。
经上述配置后,就可以使用TortoiseGit进行push、pull操作了
如果当推送时出现类似这样的提示:
error: cannot spawn C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe: No su
ch file or directory
设置下 TortoiseGitPlink.exe 路径即可