一:下载远程代码到本地
1.首先新建一个文件夹,我的目录是D:\gittest,在文件夹中右键点击“git bash here”
则会显示如下git界面(如果没有正常显示,则可能是git安装有误)
2.配置git的基本信息(昵称和邮箱)并生成SSH key,使用下面2条命令。
git config --global user.name "昵称"
git config --global user.email "邮箱"
昵称跟邮箱,你可以设置成跟你的github或码云上的一致即可。然后生成SSH key,命令如下:
ssh-keygen -t rsa -C "邮箱"
接着进行确定,判断是否配置成功,输入命令:
cd ~/.ssh
ls
cat id_rsc.pub
出现以下页面则SSH key生成成功,不正确的话,可以删除/.ssh目录内容,重新生成。
3.把id_rsa.pub的内容,复制添加到SSH公钥上,以码云为例,点击个人设置,添加SSH 公钥。
4.回到D:/gittest目录下,选择该目录下载远程代码,输入如下命令:
git init
git remote add origin 项目地址 //一般为.git后缀地址
git clone 项目地址 //跟上面命令同一个地址
如下图所示,显示克隆成功即可。
二:更新远程代码到本地
1.进入项目目录,注意不要在d:/gittest目录下,进入下载的项目目录中进行git bash操作
2.使用git fetch命令进行更新,输入一下命令
git fetch origin master //从远程的master分支,下载到本地的origin/master分支中
git log -p master.. origin/master //比较远程分支跟本地分支的差别,我这里没有做修改,所以没有提示
git merge origin/master //把远程下载的代码合并到本地分支中(如果有代码冲突,可以先进行提交解决以后再合并)
3.上述方法,还可以下载到新建分支中再合并
git fetch origin master:temp //从远程的master分支,下载到本地的新建分支temp中
git diff temp //比较temp分支跟本地的master分支的区别,我这里没有修改,则没有提示
git merge temp //处理代码冲突以后进行合并
git branch -d temp //合并完就可以删除temp分支了
三:提交代码到远程仓库
直接使用git push origin [branch-name],往往会出错,有可能本地版本比分支的版本更低
这个时候需要先将解决冲突,再将本地代码推送到服务器分支上
1. 在自己分支cs上提交代码:
git checkout cs
git add .
git commit -m "add files"
2. 切换到master分支上,从远程服务器上拉下最新代码:
git checkout master
git pull
3. 切换到cs分支上,检查是否与master分支有冲突:
git checkout cs
git rebase master
4. 若有冲突,先解决冲突
git add .
git rebase --continue(继续解决冲突)
反复执行这两步,直到所有冲突解决完成
5. 将本地代码推送到远程分支上:git push <远程主机名> <本地分支名>:<远程分支名>
git push origin cs:master