一. 注册github账户
二. 安装github客户端
默认安装路径为:C:\Users\vivian\Documents\GitHub
三. 配置
1. 初始设置git
Git会根据用户的名字和邮箱来记录提交。GitHub也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置
git config --global user.name "Your Real Name"
git config --global user.email you@email.address
2. 生成SSH秘钥
在git shell中输入如下命令:
ssh-keygen -C 'your@email.address' -t rsa
会在C:\Users\vivian\Documents\.ssh文件夹下生成公钥和秘钥,点开settings,把秘钥id_rsa.pub文件中的内容复制deploy到SSH Key中。
http://lazynight.me/2898.html
四.Create a new depository
如果勾选了创建readme,md文件,则创建好这个库后就可直接clone到本地了,不然需要自己写一个readme.md上传
五 .上传代码
1. 版本初始化:
(1)如果本地无远程的项目(depository),先克隆一份到本地
cd进入到想要下载到的位置,例如C:\Users\vivian\Documents\GitHub,输入命令
git clone https://github.com/vivianink/myWebJourney.git (格式:git clone <远程库网址> <可选,本地副本库名,未填则和远程库同名>)
即可将创建的项目克隆一份到GitHub文件夹下。
(2)如果本地创建了一个工作目录,进入该目录后使用git init进行初始化,这样在项目目录下会有个隐藏的.git目录(即创建了一个git仓库,以后add的文件会添加到该.git仓库中),以后就会对该目录下的文件进行版本控制;
若想要上传到远程服务器中,则可以在远程服务器上创建一个目录,并增加一个远程服务器端,进行连接(若已进行了远程库的克隆,无需此步):
git remote add <服务器名> <URL>,例如 git remote add origin https://github.com/vivianink/myWebJourney.git
这样,以后提交代码只需使用origin别名即可。
流程:(工作目录) -----git add------> (缓存)---------git commit--------->(head)--------git push-------->(远程库)
2. git add --------选择要上传的文件
d进入要上传文件所在的路径,
git add dir:会将该目录下所有文件都添加
git add f1 f2:添加文件f1和f2
git add .:添加当前目录下所有文件
执行git add相当于把要上传的文件提交到了缓存(该区域成为索引)中,即文档索引。
补充:若想要上传某个文件到远程的某个目录下(已存在),cd进入到本地工作目录中该文件所在的目录下,进行添加等操作即可。删除也同理
3. git commit --------提交上传的文件
git commit -m "提交内容说明" (-m来输入一条提交信息)。执行此命令后指向了最后一次提交的结果。将索引提交到了库。每提交一次意味着版本更新
4. 上传到远程版本库中
格式为:git push <远程主机名> <本地分支名> :<远程分支名>,表示将本地分支推送到远程主机中的远程分支中;
若省略了远程分支则是推送到远程主机中与本地分支有“追踪关系”的分支,通常同名,若远程主机中没有则创建;
若果存在追踪关系,则远程分支和本地分支名都可以省略:git push origin
git push origin master:表示将本地的master分支推送到origin主机的master分支中
六. 其他补充
1. git要求每个远程主机都有一个名字,git remote命令用于管理远程主机
remote add用于添加远程主机,remote add <远程主机名> <网址>
2. git pull 用于取回远程分支中的更新并与本地分支合并
git pull <远程主机名> <远程分支名>:<本地分支名>,若远程分支和本地分支存在追踪关系,则可省略分支名,如 git pull origin
3. 删除文件
git rm (-r,若果要删除某文件夹) <文件夹名>或者挂<file/somescript>,该命令删除了工作目录和索引(缓存)中的文件
提交信息:git commit -m "remove"
push更新远程库:git push origin master
实际上是先删除了本地的某个文件再更新远程文件
参考资料:
Git常用命令解说 http://zensheno.blog.51cto.com/2712776/490748
阮一峰. Git远程操作详解 http://www.ruanyifeng.com/blog/2014/06/git_remote.html
Git常用命令 http://blog.csdn.net/ithomer/article/details/7529022
github上传步骤和常见问题 http://hellokugo.blog.51cto.com/9827529/1615715