Git/Github的基础操作

目录

Github上建立远程仓库

 本地库rootA​编辑

本地库rootB

冲突的产生与管理

分支操作

 

Github上建立远程仓库

 本地库rootA

  • 在本地库rootA中创建一个文件file1.txt,并对文件中的内容进行修改。
  • 使用git status查看当前状态。
  • 将文件提交到暂存区-->提交到本地库-->提交到远程库

 可以看到此时远程库中main分支下存在文件file1.txt

本地库rootB

采用上述同样方法,向远程库最终提交文件file2.txt

但是此时本地库rootA只有文件file1.txt,只有使用git pull拉取远程库中的最新内容,才能同步。

 git pull拉取,拉取最新内容后,可以看出此时本地库rootA中同时存在file1.txtfile2.txt两个文件。

冲突的产生与管理

  • rootA中对file1进行修改后,使用git add将修改提交到暂存区,再采用git commit -m "描述"将暂存区中的文件提交到本地库,此时不提交到远程库中
  • rootB同样对file1进行修改,但是修改后直接 提交到暂存区-->提交到本地库-->提交到远程库
  • 此时再将rootA中对file1的修改提交到远程库,发生冲突!如下图示:

  • 使用git fetch 获取远程库上main分支的文件。

git pull不同的是,git fetch在将远程库中对应分支的内容获取到本地后,不会直接与本地对应分支合并,需要调用git merge才能将其合并。

  • 使用git diff  orgigin main[远程分支]   main[本地分支] 查看冲突部分的内容。
  • 使用git merge 远程分支 本地分支 将两个分支的内容合并。

 合并完的冲突文件如下:

冲突双方可以商量后重新提交。

此处rootA保留冲突双方的内容,使用git status可以看到有文件未提交到暂存区,因此修改file1的内容后, 提交到暂存区-->提交到本地库-->提交到远程库,如下图示:

 此时冲突解决,重新提交成功!!!

分支操作

  • git branch查看当前已有分支。
  • git branch dev1创建新的分支dev1
  • git checkout dev1切换到dev1分支中。
  • touch log1.txtdev1分支中新建文件夹。
  • 提交到暂存区-->提交到本地库-->提交到远程库

 此时远程库GitHub中存在如下两个分支:

 

其中分支main中只有file1.txtfile2.txt两个文件,而分支dev1中有file1.txt、file2.txtlog1.txt三个文件。因为在创建dev1分支时,会对main分支进行快照。

 

此时可以采用git merge main dev1,将两个分支文件合并后再git push提交。

不行的话就采用如下(可能是我卡了,才会出现上面操作不行):

  • git fetch origin main拉取远程库中的main分支
  • git diff查看远程库origin main本地库main的区别。
  • git merge origin main[远程库] main[本地库]合并远程库mian分支本地库main分支
  • git push提交本地库main

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值