git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

时间:2023-03-10 08:17:37
git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

注意:此处省略git的安装

1..git的工作流程示意图:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

2.本地仓库的初始化:

2.1 创建一个文件夹,如我创建的是:D:\gitdemo\shop

  2.2 进入shop目录,鼠标右键,打开git命令窗口,输入git init 命令,按回车键:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时本地仓库已经初始化,生成的.git目录和相关文件是隐藏起来的,使用命令ll -al 可以看到:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

查看该目录文件: 命令 ll .git

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

注意:里面的任何文件都不要修改和删除

3.角色的创建: 本地仓库要跟远程仓库进行同步,需要一个角色用来区分每个人提交的代码,如果电脑有多个项目,不想每一个都设置的话,可以设置一个全局的角色

    3.1 命令 名字: git config user.name xxx     邮箱:git config user.email xxx@xx.com  查看: cat ./.git/config  注意这里的邮箱跟你远程仓库的登陆邮箱没有任何关系,这里的邮箱只是用来区分身份,可以不真实存在

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

3.2 全局角色的创建:名字: git config --global user.name xxx     邮箱:git config --global user.email xxx@xx.com  查看: cat ~/.gitconfig  注意这里的邮箱跟你远程仓库的登陆邮箱没有任何关系, global前面有2个横杠,global和横杠之间不能有空格

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

4.git的基本操作(工作中基本用idea图形化操作就可以了,此处当作了解)

  4.1 查看工作区和暂存区的状态(git status):

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

4.2 工作区到暂存区的操作: git add:创建一个文件如a.txt然后使用将其从工作区新增到暂存区,如果是指定某个文件命令: git add +文件名,如果是所有的文件使用: git add --all (all前面是2个横杠)

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

提交到暂存区后,颜色变成绿色了

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

4.3 暂存区到本地库的操: git commit -m "描述" + 文件名 如果是提交所有文件: git commit -m "描述" + --all

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

提交所有文件:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

4.4 查看提交记录,有事想追责,或者想找回历史版本,此时可以使用git log,这里可以显示提交的记录,每个记录都有唯一编号,用户名和邮箱此时可以区分是哪个用户提交的了:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

不同的显示格式:

git log --pretty=oneline

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git log --oneline

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git reflog

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

HEAD@{移动到当前版本需要多少步}

注意:提交记录指的是从暂存区到本地仓库的记录,也就是使用git commit -m 描述信息 文件名(--all) 指令的记录

4.5 版本回退 git reset --hard(soft/mixed) +版本编号(git log 或者git log --oneline 显示的唯一编号,长的或短的都可以)

新建一个order文件夹,git init初始化,创建一个a.txt 使用git add 和git commit提交到本地仓库

  git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

鼠标右键删除a.txt,然后再执行git add 和git commit

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

现在如果,我想回到没有删除的版本,上图那个编号为be42083的版本,如何操作:使用 git reset --hard be42083

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

如果此时又反悔了,想前进到删除版本99d98e4,同样使用git reset --hard 99d98e4

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

总结,每次使用git commit提交,都会在git log中存在一条记录,每条记录都有一个版本号,使用git reset命令,可以向前或者回退到某一个版本:

版本回退还有其他2种命令,但只能回退,不能往前  :

git reset --hard HEAD^  代表回退一个版本 , git reset --hard HEAD^ ^代表回退2个版本,多少个^代表回退多少个版本

git reset --hard HEAD~ n 代表回退n个版本,n可以是1,2,3...等数字

那么git reset --hard 和 git reset --soft 和git reset ---mixed 的区别:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

4.6 文件差异的比较

新增一个a.txt,然后提交的本地仓库,只修改a.txt文件内容,此时执行git diff +文件名(不加文件名就是比较全部文件)

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时比较的是工作区和暂存区的文件差异

如果要跟历史某个版本进行比较:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

gitdiff[本地库中历史版本][文件名] :作用是将工作区的和本地历史的版本进行比较

4.7 分支管理

在实际工作中,开发有开发分支,测试有测试分支,生产有生产分支,一般在开发分支进行开发代码,开发完,合并代码到测试分支,测试完,合并到生产分支,此处以一个mast分支和一个开发分支dev为例子:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

新建一个demo文件夹,然后初始化仓库,新增a.txt到本地仓库:使用git branch -v 查看所在的分支

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

可以看到目前在master 分支

新建分支dev: git branch dev

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时修改一下a.txt,新增一些内容:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

切换到dev分支 git checkout dev

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时查看a.txt

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

a.txt没有内容,因为a.txt在创建dev分支后,在master分支新增的

现在,在dev分支给a.txt加上一些内容

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

添加到本地仓库

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

将dev分支的内容合并到master分支

1.切换到master 分支 git checkout master

2. 合并dev 分支 git merge dev

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时打开a.txt可以看到

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

手工合并,去掉特殊的字符

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

重新提交a.txt

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

注意此时的git commit -m "message" 后面一定不能带具体文件名,到此,dev的内容就合并到了master分支了

此时切到dev分支:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

查看a.txt

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

dev分支的内容并不会改变,原因是dev的内容合并到master分支,但master分支的内容并没有合并到dev分支

5. 远程仓库的使用,此处以github为例子:

  5.1生成SSH key

        进入当前用户的家目录 cd ~ 
           删除.ssh 目录 rm -rvf .ssh 
           运行命令生成.ssh 密钥目录 ssh-keygen -t rsa -Cyangxiaohui@qq.com [注意:这里-C 这个参数是大写的 C 邮箱可以随便写,不一定要存在] 执行后一路按回车
           进入.ssh 目录查看文件列表 cd.ssh
           ls -lf 
          查看 id_rsa.pub 文件内容

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

登陆github设置相应的ssh key

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

使用ssh key 从 远程仓库github或者gitlab下载或者上传代码时不用填写账号密码,如果是使用http方式会提示要账号和密码

5.2远程仓库的创建:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

5.3 之后我们模拟,一个名叫小明的架构师搭好一个架构并上传到服务器,另外有一名叫小红的开发从远程仓库中下载项目,并进行开发

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

架构师的操作:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时查看github:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时架构师已经将项目上传到远程仓库了,那么接着到开发xiaoHong的操作了:

注意:执行git clone xxxx,就已经在本地创建了本地仓库了,不用再执行git init了

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

小红接着去修改a.txt添加一句话:我是开发小红

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

架构师拉取变更的内容:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

5.4 gitHub登陆的账号和邮箱/本地git config 创建的用户名和邮箱,生成ssh key时使用的邮箱 他们直接的关系

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

5.5 分支的创建以及同步到gitHub

xiaoHong创建了一个dev分支,同时在dev分支新增一个b.txt

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

查看github:由于上面我并没有将b.txt提交到本地仓库,所以在gitHub上看不到b.txt

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

5.6 分支的删除以及同步gitHub

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

5.7查看远程分支列表

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

上面测试的2个用户,架构师和小红都是在我的电脑上,如果他们是在不同的电脑上,小红要提交代码到gitHub的话,要架构师先加她到合作者

6 git 在IDEA 中的使用

6.1 clone远程代码

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

6.2 新增一个test.txt文件并上传到远程仓库

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

6.3查看提交记录

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

6.4 版本回退:

方法一(推荐使用)

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

远程仓库如下:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

第一步拷贝历史版本的版本号:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

点击reset后:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

接着拷贝新的版本号:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

最后使用add--commit -push 到远程仓库,这里不要拉取远程仓库代码了,直接push;

此时远程仓库已经没有b.txt了,证明版本已经回退了

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

至此,其他开发人员只要pull远程仓库的代码,代码版本就回退了,这里其实相当于拷贝历史版本的代码到当前版本,并不会删除之后的版本

方案二: 过程如下,这里换了个项目实验:使用git命令窗口

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

这种方式会导致其他开发者本地的版本号高于远程仓库的版本号,除非他们删除本地代码,从远程仓库重新clone,要不然,如果他们push自己的代码上远程仓库,那么远程仓库的代码又是最新的了

6.5 远程分支的创建:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

新建本地分支:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

保持当前所在分支为dev,在该分支新增点内容

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

提交到远程分支

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时远程已经有dev分支了:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

由于master还没有dev分支新增的代码,当dev分支开发完成,代码要合并到master分支:

先切到master分支:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

从dev拉取代码到master 分支

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

之后就是将合并后的代码进行add -- commit -push 到远程仓库

6.6远程分支的删除

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

此时远程仓库:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

同理:本地分支的删除

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

6.7添加忽略文件:

https://github.com/github/gitignore/blob/master/Java.gitignore
文件名:.gitignore 创建该文件并放到根目录下:
内容:
git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

创建一个以.log为后缀的文件

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

add--commit --push到远程仓库

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

忽略文件的语法规则:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

6.8 拉取远程分支列表

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

6.9 分支的名称修改

本地分支名称修改:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

远程分支名称修改(间接实现):

先创建一个新的本地分支,然后提交到远程分支,接着删除远程旧的分支

6.9 代码冲突的解决: 当同一个文件同时被A和B2个人修改,A先提交到远程仓库,之后B在push之前先进行pull操作,此时会报如下错误:

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

双击View them

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

如果是点击Merge

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

之后add --commit --pull --push提交到远程仓库

7.0 idea创建项目并上传远程仓库

场景:假如你是公司架构师,你在本地搭建好了架构,准备上传远程仓库:

1.假如你搭建的项目叫shop,那么搭建好后,进入shop项目,使用git 命令窗口执行 git init 之后执行 git remote add origin xxxxxxxx(远程仓库的地址)

2.之后你就可以在idea中进行add -- commit --push 操作了

8.项目迁移

背景:如果我想将一个项目从gitHub 迁移到gitlab,并且保留所有发分支和提交历史

1.打开git 命令窗口 git remote -v 可以看到当前项目对应的远程仓库地址

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

2. 添加一个新的远程仓库并给它起一个跟之前仓库不一样的别名

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

3. 此时查看远程仓库

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

4. 然后提交当前分支到新加的地址

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

5.如果还有其他分支,先切换分支,再提交

git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

如果还有其他分支,重复上面流程,切换分支继续提交到远程仓库,所有分支提交成功就完成了

注意:如果提交报没有权限,请将新地址的管理员权限付给该提交用户