1、创建远程仓库
登录github后,找到
2、创建本地仓库
创建本地仓库的最终结果是——在本地生成一个名为git的文件夹,管理代码
1、 生成git文件夹,此时这个git文件夹就是“工作区”
git init
2、将工作区的代码添加到暂存区
git add .
3、将暂存区的代码提交到版本仓库
git commit -m "init"
到这里,本地仓库创建完毕。
3、将本地仓库的代码推送到远程仓库中
可以在github中,我们刚刚创建好远程仓库的页面找到对应的代码:
这句命令表示:在本地仓库中记录了远程仓库的地址,并给远程仓库取了一个别名'origin',这个名字也可以是其他的单词,不过基本上都是origin
git remote add origin git@github.com:Lethezheyi/20220216_gshop_client.git
将代码推送到远程仓库 origin代表你上面为远程仓库取的别名,master表示从本地的master推送到远程的master,此时因为远程的仓库是空的,git会在远程仓库中创建一个master
git push origin master
//也可以写成 git push origin master -u
//后面加-u的作用是——在下次你做git push 时,origin master可以不用写,默认会往对应的分支推
在做推送的时候可能会遇到下面的问题:
为了防止你每次推送的时候,它都要求你输入用户名和密码,可以使用下面的命令,记住用户和密码:
git config --global credential.helper store
此时,刷新你的github页面,就可以看到新生成的仓库了:
4、当仓库代码发生变化时的操作
项目在不停的更新,会发生本地仓库变动或者远程仓库变动。
4.1、当本地仓库代码发生变化时的操作:
git add .
git commit -m "update README"
//提交本地更新的内容,双引号中为你更新的文件描述,上面的意思是“更新了README.md中的内容”
git push origin master -u
//-u ,上面有讲到,省略origin master的办法,下次可直接使用git push
举个栗子:随便添加了了README中的内容,并按照上述命令执行后
PS:当push遇到问题时,参考:
执行git push出现"Everything up-to-date" - 散尽浮华 - 博客园
git提交代码时出现Everything up-to-date的解决办法_zhuhongyang_的博客-优快云博客
4.2、当远程仓库代码发生变化时的操作:
举个栗子:
我们直接在github上修改README上的内容,模拟其他人提交代码:
上图修改后,鼠标向下滑动,点到下面的按钮就提交了
此时,本地的仓库中,内容是没有变的,需要从本地拉取远程仓库
git pull
//拉取远程仓库被修改的内容,如果你之前没有使用-u,就要写成 git pull origin master
5、获取别人仓库的代码(克隆)
看上图,只需要找到别人仓库的地址,就可以获取了,只需要在本地找一个路径,使用集成终端输入该命令即可:
git clone address
//请把address 替换成你复制到的别人仓库的地址
6、多分支操作
6.1、创建本地个人开发分支,并推送到远程
git checkout -b pzy
//pzy为我自己本地的个人分支名
git branch
//查看分支命令
git push -u origin pzy
//将创建的个人分支推送到远程
此时可以看到成功创建了个人分支并推送到github上了:
6.2、克隆仓库后,新添加的分支看不到的话,如何解决
举个栗子:张三在1月1日克隆的远程仓库,李四在1月2日创建了一个新分支,并推送到了远程,张三如果想要看到这个新分支的话,该按照下面的命令操作:
git pull
//拉取新分支,此时拉取后,本地并没有创建新分支(此时本地已经知道有两个分支了,但是并没有生成新的分支)
git checkout -b pzy origin/pzy
//根据远程仓库的pzy分支创建本地的pzy分支,前一个pzy代表本地即将新创建的分支,后面的origin/pzy代表远程的pzy分支
6.3 使用vscode推送分支:
举个栗子:随便修改了README的文件后,将修改的内容推送到远程仓库中:
上面的两个分支,如果你修改的是本地的个人仓库pzy,想通过master合并分支的话,按照下面的命令操作:
git branch
//可选的命令,查看分支
git checkout master
//切换到master分支
git merge pzy
//将pzy分支中的内容合并到master中
git diff
//可选的命令,查看有冲突的文件的命令
git push
//将代码提交到远程的master分支中
PS:在真正的开发流程中,可能会存在master分支、dev分支、个人开发分支,当项目积累到一定时日,会从个人开发分支合并到dev分支,然后再从dev分支合并到master分支。