赞
踩
个人项目只有自己修改,本地开发保存,这个是可以的。但如果多人一起开发呢?总不能都在你本地开发或者是拷贝你的代码然后在他们本地开发,然后又拷贝你那去手动合并吧,想想就很麻烦
git就是可以解决这个问题。在git创建一个仓库,项目中的成员通过命令将代码拉取下来,在自己的本地开发,开发完可以把本地修改的内容通过命令去更新远程仓库,项目中的成员只要拉取就可以获取到当前最新的代码,如果2个人都修改了某个文件,导致冲突了,就可以解决冲突然后合并
去官网下载https://git-scm.com/download/,根据自己的电脑系统去下载合适的版本。下载完就可以安装了。我一般是安装在d盘(我的原则:能不在c盘就不在c盘)。具体安装的步骤印象里应该都是默认,如果不放心的话就自己去找一下安装的步骤,我几个月前安装的,不是很想重新装一次演示。
step1.随便一个地方(桌面、文件夹)鼠标右键–>点击Git Bash Here,接下来就在这里输入下面的命令
step2.全局配置用户名
git config --global user.name "name"
# git config --global user.name "Apple"
step3.全局配置邮箱
git config --global user.email "example@xx.com"
# eg: git config --global user.email "xxxxxxxx@qq.com"
step4.生成密钥的命令,输入如下命令之后一直enter就行
ssh-keygen -t rsa -C "example@xx.com"
# eg: ssh-keygen -t rsa -C "xxxxxxxx@qq.com"
step5. 公钥key复制到对应git平台的ssh设置。
运行完,此时c盘/用户/当前账号的用户目录下有个.ssh文件夹,里面会有2个文件id_rsa是私秘钥,id_rsa.pub是公钥,也有可能像我这样文件名不是.pub结尾,但文件类型可以看出来下面的是公钥文件
这里以github作为例子讲一下具体操作。这里前提是你有github账号,没有请先注册,这个就自己网上找资料吧。点击头像–>选择settings–>左侧栏选择SSH and GPG keys --> 点击SSH keys 中的new SSH key的按钮(这里在其它平台也差不多操作,就是找到增加ssh key的地方)
–> 将公钥文件用记事本或者其它工具打开,将其内容全部复制 --> 粘贴到key的框里 --> Title随便命名(我一般是以区分设备来命名)–> 最后点击Add SSH key就OK了
step 6. 将私钥(id_rsa)添加到SSH-agent
ssh-add ~/.ssh/id_rsa
遇到的问题:Could not open a connection to your authentication agent
解决方法:先执行如下的命令,再执行step6的命令
eval `ssh-agent`
step 7.如果github有一个库,然后执行一下clone项目到本地的命令
git clone 地址
# eg: git clone git@github.com:JXApple/leetcode-solution.git
地址如何查找:点击仓库里的一个项目–>点击code–>点击SSH,这个时候有git@github.com开头,以.git结尾的这一串字符串就是地址,复制到上面命令的地址那就ok了
遇到的问题:The authenticity of host ‘github.com (xx.xxx.xxx.xxx)’ can’t be established…
产生的原因:上面生成密钥只有2个文件,但总共是3个文件(id_rsa,id_rsa.pub,known_hosts),缺少了known_hosts
解决方案:只要输入yes就好,一定是yes而不是y
设置第2个及之后的git账号密钥,步骤重复上述的step4到step7
这里要另外说明的是step4,生成密钥默认是生成id_rsa,所以需要改生成的文件名,要不然就会覆盖之前其它账号生成的密钥。我的密钥是在p盘(为什么.ssh前是2个斜杠,是因为.ssh前面的斜杠对.进行转义)
step4到step7已经完成的话,接下来继续执行下面的操作
在.ssh目录下创建config文件
touch ~/.ssh/config
到.ssh目录打开config文件,进行配置(IdentityFile 这里使用相对路径,Host就是域名)
# github
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_github
User git
# gitlab
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/id_rsa
User git
多账号的管理
如果所有git提交记录显示的用户名都是同一个,就设一个全局的用户名和邮箱就足够了(step2和step3)
但是希望在不同的git平台提交用不同的账号,那就在每个项目都设置一次局部的用户名和邮箱
局部用户名
git config --global user.name "Apple"
局部邮箱
git config --global user.email "xxxxxx@xx.com"
以上就完成多个账号管理的配置
step1.查看项目中文件的状态(修改,添加,删除)
git status
step2.将修改的文件添加到暂存区
git add .
step3.工作区的文件更新到本地仓库
git commit -m "[此次提交内容的说明]"
step4.拉取远程仓库的代码更新
git pull
step5.将本地仓库提交到远程仓库
git push
查看仓库有哪些分支以及当前是在哪个分支(如下面截图:总共有2分支,当前是在dev分支)
git branch
创建分支。git默认是master分支。项目中一般会按照需求,缺陷修复或者是开发(dev)来创建不同的分支,就是按照用途git branch 分支名
,这个仅仅是目前的分支的基础上创建新的分支
git branch dev
将新分支提交到远程仓库git push origin 分支名
,这个时候远程仓库就多了一个分支
git push origin dev
切换分支。将当前开发的分支切换到别的分支进行相应的开发git checkout 分支名
git checkout dev
删除分支 git push origin :分支名
git push origin :dev
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。