参考地址:https://www.cnblogs.com/lifexy/p/8353040.html
GitHub相关命令:https://blog.csdn.net/linwh8/article/details/79779364
1、 登陆自己的GitHub账号,在网页右上角的小加号是用来创建自己的库的按钮
2、下载 Git Bash软件并安装( git-scm.com)
3、配置Git
$ git config --global user.name "flytoyamin" //个人账号
$ git config --global user.email yaminzhang@aliyun.com//个人邮箱地址
上面的--global选项,表示以后管理git库时,默认使用上面的用户信息,也可以通过git config -l 来查看配置信息
4、创建一个GitHubData名字的目录(gitBash命令窗口是基于linux的,支持各种cd vim ls等目录查看命令)
$ cd GitHubData
$ git init // 生成.git的工作区,相当于初始化git
$ git clone https://github.com/flytoyamin/demo1.git //克隆此地址代码,GitHubData目录下就会有此项目demo1的文件了。
$ cd demo1/ //进入到demo1目录
$ ls 查看从github克隆下来的代码文件。
5、上面步骤完成我们就把gitHub账户中Demo1的项目代码克隆下来了。下面讲解如何维护
$ vim 1.text //打开克隆下来的1.text文件,修改后保存。
$ git add 1.text //将修改的1.text文件添加到暂存区 ,可以使用命令 git add . 将所有修改的文件进行添加
$ git commit -m "第一次修改" // 将暂存区里的文件提交到本地仓库,若暂存区某个文件被删除掉,则会删除仓库里的文件
$ git commit -am “提交描述” // -a:跳过暂存区,git自动将工作区里记录的所有文件添加到暂存区并一起提交,从而跳过git add步骤
$ git reset HEAD^1 //撤销commit,如果想修改commit时的文件,则使用上面命令撤销
$ git remote rm origin //移除远程仓库和本地仓库的关联,在demo1本地文件目录下执行
$ git remote add origin https://github.com/flytoyamin/demo1.git //将本地仓库和远程仓库关联,在demo1本地仓库目录下执行的话意思就是demo1目录和远程的demo1.git项目关联。
$ git push origin master //推送(同步)数据到远程仓库,若是本地上传,必须先使用上个命令来指定远程仓库地址(origin),若是从远程仓库克隆复制的,则不需要,因为.git里会自动保存远程仓库地址.这个是什么意思呢?
6、git管理流程解析:
远程仓库:gitHub上创建的项目,为github上此项目的地址:https://github.com/flytoyamin/demo1.git
工作区:也就是我们对我们代码进行修改的目录,对于java项目,就是java源代码存放的目录。
暂存区:向远程仓库提交之前,先要执行命令git add ,系统会将我们本地修改过的文件先添加到暂存区。
本地仓库:我们执行git init命令,就会自动创建一个.git目录,这个就是git的本地仓库,我们将修改的文件提交到暂存区后,再执行命令git commit -m “提交描述” ,提交到本地仓库,
本地上传到GitHub仓库流程:
1、执行git add 将修改的代码添加到暂存区
2、执行git commit -m “提交描述”添加到本地仓库
3、关联本地仓库和远程仓库:git remote add origin https://github.com/flytoyamin/demo1.git
4、推送数据倒远程仓库git push origin master
说明:.git目录里面配置着远程地址和工作区目录的对应关系,在不同的工作区目录下执行相关操作,就会存到不同的暂存区目录下。如果我们先再gitHub上创建了一个项目,想把自己电脑上的一个目录和gitHub远程地址同步,就必须先执行远程地址和本地地址关联操作。如果是克隆下来的就不必了,克隆命令,git系统自动存储的此对应关系的配置文件。
7、上面每次我们push的时候,都会提示输入账号密码,通过生成ssh key,将key绑定到GutHub项目上。每台电脑设备生成的key都不一样。这样我们自己的电脑就和gitHub项目绑定了。以后再push此项目就不用输入密码了。
1、ssh-keygen -t rsa -C "yaminzhang@aliyun.com" //一路回车,生成ssh key
2、key存储在路径C:\Users\Administrator\.ssh\id_rsa.pub 里面
3、打开你GitHub的设置界面,找到SSH and GPG keys这个选项之后,在网页右上角有一个添加新的SSH keys 点击,这样就不用每次git的时候都要登录账号密码了。
注意:要将文件里面所有的内容都复制进去,包括ssh-rsa。
4、验证是否key和GitHub : ssh git@github.com
不要相信网上人说的一路回车,简直就是大坑,遇到Are you sure you want to continue connecting (yes/no)? 要敲yes回车。
8、废话总结
当公司创建一个Git 项目后,提供给我们Git项目的远程地址,我们通过远程地址将项目克隆下来到我们的工作区,我们对项目进行修改后,将项目push到远程地址上,每次push都要输入我们自己GitHub的账号密码。我们通过创建SSH Key,将我们的电脑设备和自己的GitHub账号关联。以后再每次Push的时候,就不需要输入账号密码了,Git授权后就以我们的账号名义将代码提交到远程地址了。