学习自廖雪峰的Git教程!!!
如果有错误请看客予以指出~~谢谢!
安装:现在可以直接从https://git-for-windows.github.io/下载到git for windows安装并使用。
安装完git之后就可以创建本地仓库,对自己的代码进行相应的管理了,本地仓库方面先跳过。
远程仓库顾名思义不是放在本地的仓库,有的是放在GitHub上托管的,也有的是公司内部自己搭建的Git服务器。
这个仓库其实和本地仓库没有什么区别,只不过是人为指定这里就是用来存放最主要的代码的。企业开发都是多人合作,这时每个人都可以把远程仓库中的代码克隆到自己本地,修改之后又可以提交上去,由专门的人员负责对代码进行合并。(正常情况下master分支应该会被锁定,即员工只能将代码克隆到本地,而不能提交到远程仓库的master分支上)
拿GitHub为例:
首先我们要有一个远程仓库,注册一个GitHub的账号。
接下来在本地打开Git Bash(随便一个地方右击下面就会有,或者开始菜单中找到Git)输入一下命令:
$ ssh-keygen -t rsa -C "youremail@example.com"
接下来到 C:\Users\(用户名称)\.ssh文件中找到id_rsa和id_rsa.pub两个文件,第一个是私钥,第二个是公钥,这里我们要用到的就是公钥。用编辑器将id_rsa.pub打开并复制里面的内容。
然后登陆自己的GitHub账号,点击右上角自己的头像,选择settings
进入后在右边找到SSH key,右边点击Add SSH key,并将刚才复制的那一堆东西粘贴进去,给他起个名字就行了。这里可以添加多个key,可以满足多台电脑向远程仓库提交代码。
接下来点击右上角的加号图标找到添加new repository,填入相应的信息就可以创建一个远程仓库了。
进入自己的本地仓库并打开Git Bash 执行git remote add origin git@server-name:path/repo-name.git(这句指令中@后的server-name对应实际的服务器地址
例如github.com或者是10.10.10.10,path在github对应远程仓库的账号名,谁的账号建的仓库就是谁的账号名,如果这个账号的SSH key里没有加入你的公钥,那就无法
提交代码。repo-name就是远程仓库的名称)这个在远程仓库的页面中是可以找到的,其同样支持http格式,可以直接复制粘贴到命令行中,git bash中粘贴是通过右击最上方的标题栏选择编辑后粘贴的)
$ git push -u origin master
(由于远程库是空的,我们第一次推送
master
分支时,加上了
-u
参数,Git不但会把本地的
master
分支内容推送的远程新的
master
分支,还会把本地的
master
分支和远程的
master
分支关联起来,在以后的推送或者拉取时就可以简化命令。)
之后就可以使用git push origin master来提交了
第一次clone或者push时都会有一个警告
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
输入yes即可
git clone git@server-name:path/repo-name.git 即可将远程仓库的代码拉到本地。
同样以上操作均可以通过Git Gui的可视化界面来完成,打开Git Gui 后帮助菜单下有show ssh key可直接查看ssh key
远端菜单中选择Add 名称填写origin,location填写git@server-name:path/repo-name.git同样可以达到git remote add origin git@server-name:path/repo-name.git的效果
使用这个工具结合本地仓库的操作可以很方便的对代码进行管理,改动文件后重新扫描即可显示改动过的文件,缓存改动按钮相当于git add点击后所有在未缓存的改动中的内容均会转移到已缓存的改动。
提交相当于git commit。
Git History可以很直观的查看分支状况和相应的版本信息。