Git的使用
1.安装git
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743858312764dca7ad6d0754f76aa562e3789478044000
下载安装git 从https://git-for-windows.github.io 下载(网速慢的同学请移步[国内镜像] (https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit)), 然后按默认选项安装即可
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:(配置电子邮件和用户名,git需要知道你是谁)
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
2.创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
在本地创建版本库特别提示:window版本的项目目录一定要包含父目录,否则会很容易出现这样那样的错误(亲测!!!各位小伙伴注意)
首先,选择一个合适的地方,创建一个空目录;其次,通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了
(如果没出现这个文件说明电脑隐藏了不可见文件夹或文件在控制面板礼文件夹选项里勾选这个选项就出现了)
3.创建一个文件
例如: index.txt 内容随便写,如 hello
接下来用命令git add告诉Git,把文件添加到仓库:(特别提示,txt文件最好不要用文本编辑器更改,很容易出现问题)
$ git add index.txt(添加单个文件)
$ git add .(填加多个文件)
然后用命令git commit告诉Git,把文件提交到仓库
$ git commit -m "添加了一个文本文件"
4.远程仓库
1.首先登录你的githup
2.右上角点击+号,创建一个新的仓库(new repository),填写上仓库的名字和基本描述,确定,一个远程仓库就创建好了,是不是很简单
3.接下来创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
youremail@example.com是你自己的邮件地址,记得一定要更改执行完成之后会在c盘的/用户/本机用户名/.ssh 文件夹内生成三个文件里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
4.登陆GitHub,点击右上角的头像,打开“settings”,然后,点“[SSH and GPG keys]”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:点击add ssh key添加完成
5.关联远成仓库目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
现在,我们根据GitHub的提示,在本地的仓库下运行命令:
$ git remote add origin git@github.com:jsformat/test.git
请千万注意,把上面的jsformat替换成你自己的GitHub账户名,否则,你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
6.现在就可以通过以下命令把本地库的所有内容推送到远程库上:
$ git push -u origin master
执行完成之后查看你的远成仓库是不是文件被推送上来了。。(正常的操作现在一个文件已经被推送上来)
另外当提交的远成仓库出现 的一些问题
[git push origin master 报错的解决方法]
1 错误提示如下: 2 [root@linux1 php]# git push -u origin master 3 To git@github.com:kangvcar/Results-Systems--PHP.git 4 ! [rejected] master -> master (fetch first) 5 error: failed to push some refs to 'git@github.com:kangvcar/Results-Systems--PHP.git' 6 hint: Updates were rejected because the remote contains work that you do 7 hint: not have locally. This is usually caused by another repository pushing 8 hint: to the same ref. You may want to first merge the remote changes (e.g., 9 hint: 'git pull') before pushing again.10 hint: See the 'Note about fast-forwards' in 'git push --help' for details.
原因:
GitHub远程仓库中的README.md文件不在本地仓库中。
解决方案:
我们只需加上 --rebase 参数然后再重新 push 一次即可
$ git pull --rebase origin master$ git push -u origin master