起因:
随着学习的逐步深入,有很多之前学习的代码,虽然已经写过了,但是不舍得删,所以想上传到码云上。同时也有些项目要使用码云,所以学习使用git。
学习:
先介绍一下git中的几个重要概念:分支、提交、拉取和推送,有助于帮助理解下面的内容。
1. 分支(git branch命令)
git默认分支一般是master,当然,这是可以修改的,我们在master完成一次开发,生成了一个稳定版本,那么当需要添加新功能或者做修改时,只需要新建一个分支,然后在该分支上开发,完成后合并到主分支即可,分支功能解决了正在开发的版本与上线版本稳定性冲突的问题。
2. 提交(git commit命令)
git对于版本的管理其实是对提交的管理,git使用40个字节长度的16进制字符串来标识每一个提交,每一个提交具有唯一的标识,根据这个标识可以任意回退。
3. 拉取(git pull命令)
用于取回远程仓库某个分支的更新,再与本地仓库合并。
4. 推送(git push命令)
用于把本地的代码更新到远程仓库。
实操:
初始
首先打开git控制面板
git init
这句话的意思是初始一个本地仓库,之后可以看到在该文件夹下多了一个.git文件夹,用于记录所有与管理本仓库相关的文件
进行代码托管
1.本地代码仓库与远程代码仓库进行同步,执行代码:
git remote add origin https://gitee.com/xxxxxxx/xxxxxxxx.git
https部分为自己gitee上的url
2.拉取远程代码库
由于在创建远程仓库时会初始化一个README.md文件,而本地仓库里没有,所以需要先执行pull操作将远程仓库拉取合并到本地仓库,否则会出错。执行代码:
git pull origin master
【注1:由于在本地创建了代码仓库,git默认关联的库在本地,所以直接执行git pull
命令是无效的,需要执行git pull origin master
命令才行,这句话的意思是推送到远程库master分支,此外,也可以根据提示执行一下git branch --set-upstream origin master
命令,以后就可以直接使用git pull
了】
【注2:如果遇到错误提示“fatal: refusing to merge unrelated histories”,出现这种错误是因为git会以为这两个仓库不同所以进行无法合并,在执行pull操作时添加–allow-unrelated-histories,即执行git pull origin master --allow-unrelated-histories
就可以了】
3.向远程代码仓库推送文件(例如在本地代码仓库中新建了test1.txt和test2.txt文件,现把它们同步到远程代码仓库),执行代码:
git add .
git commit -m "对该操作的相关描述"
可以看到,git追踪到了仓库中文件的变化,所以说git起到了作用。现在执行push操作将它推送到远程代码库:
git push
git push --set-upstream origin master
【注3:这里使用git push
命令会和上面使用git pull
时出现同样的问题,根据提示git push --set-upstream origin master
,以后就可以直接使用git push
命令了】
刷新远程代码仓库,可以看到文件被成功的同步到了远程仓库
遇到的问题:
error: failed to push some refs to ‘https://gitee.com/
原因:
出现错误的主要原因是gitee(github)中的README.md文件不在本地代码目录中
解决:
此时我们要执行git pull --rebase origin master命令README.md拉到本地,
任何然后执行git push origin master