Git常见问题总结

Git的一些概念

1.git有四个区,分为工作区,缓存区,本地仓库和远程仓库。
2.gitignore是用来忽略不用提交的文件的。但是这样切了分支就没了。
3.git的操作一般包括团队内协作和跨团队协作。
4.团队内协作的一般流程是A写了代码,push到远程库,B将其clone下来到自己的本地库,改完在push 到远程,主要用到clone push pull等。
5.跨团队协作的一般流程是A团队写了之后push到远程库,B团队forkA团队的远程库,则在自己的远程库里有了一份,然后clone到本地进行修改,然后push到B自己的远程库中,然后发请求pull request给A团队,A审核通过之后mergeB团队的代码。
6.pull和clone的区别:pull是本地有代码的时候pull,clone是本地无代码的时候clone。clone时不需要输入账号密码,因为能下的代码是开源的。clone时会顺便初始化本地仓库。
7.使用ssh可以免密登录。

将本地库推送到远程仓库保存

1.在本地的操作

1.1 git init初始化本地仓库
1.2 git add .将所有文件加入缓存区
1.3 git commit -m ""将所有文件加入本地库
1.4 git commit --amend 更改上次commit的内容
1.5 git branch -a 查看本地和远程的所有分支
1.6 git branch -vv 查看本地和远程分支的跟踪关系

2.在远程仓库的操作

2.1 新建一个仓库
2.2 复制该仓库的HTPPS链接

3.在本地的操作

3.1 git remote add origin httpsxxxxxx,本地库与远程库进行关联
如果已经添加公钥了的话,可以用git remote add origin git@xxxx,也同样可以进行关联,还省去登录
3.2 上传到代码仓库

git push origin <本地分支名称>: <远程仓库名称>
git push origin bl: br // 把本地的bl分支上传到远程的br分支 
git push HEAD:br // 把本地的当前分支上传到远程的br分支
git push bl // 如果远程仓库名称和本地分支名称一样,就可以省略: <远程仓库名称>

3.3 git remote set-url origin git@xxx.git 使用ssh的方式关联远程仓库

4.建立分支跟踪关系

新建或修改追踪的远程分支:

git branch --set-upstream-to=origin/br bl //把远程仓库的br分支和本地的bl分支建立追踪关系
git push -u <远程仓库>  <本地分支> 
git push -u origin bl // 把远程仓库的bl分支和本地的bl分支建立追踪关系
git checkout  -b <本地分支> <远程仓库>/<远程分支>  
git checkout -b newb origin/bl // 新建本地分支,并关联bl远程分支

分支合并

1.本地仓库不同分支的合并

1.1 开发分支合并到master分支

当开发分支开发完毕后,需要将其合并到master分支。
1.首先将开发分支的内容提交到版本库:

git add *
git commit -m "comment"

2.切换到master分支

git checkout master

3.进行合并

git merge dev

这时如果在同一处出现冲突,如下所示,那么就需要手动进行调节。
在这里插入图片描述
3.1 Accept Current Change,即保留master分支的内容
3.2 Accept Incoming Change,保留dev分支的内容
3.3 Accept Both Change,同时保留两个分支的内容
3.4 Compare Changes,用只读模式进行对比

<<<<< HEAD下面是master的内容
====下面是dev分支的内容

做完选择后,按Ctrl+S进行保存。

2.远程仓库不同分支的合并

2.1 开发分支合并到master分支

当开发分支开发完毕后,需要将其合并到master分支。
但是远程仓库的分支合并与本地分支的合并不一样

  • 本地分支的合并在于你下拉了最新的代码,在你自己的开发分支做好修改,然后进行上传,上传到自己的开发分支。
  • 远程分支的合并是确认代码没问题,合并到master分支,作为长运营版本。

1.点击上栏的Pull Request,在新页点击右侧的新建Pull Request
2.在创建Pull Request页中

  • 源分支是你的开发分支,目标分值是你的master分支;
  • 写好标题和说明;
  • 点击左下角的Pull Request
    3.回到Pull Request页,就出现了刚刚创建的Pull Request
  • 点击审查通过测试通过
  • 点击合并分支
  • 点击==接受Pull Request

将远程仓库拉到本地库

1.远程仓库的操作

如果还没有远程仓库,就创建一个,并且要注意勾选如下的, 同时复制你的git仓库的https链接。

  • 选择分支类型
    • 单分支模型(只创建master分支)

2.本地仓库的操作

如果没有初始化,就先初始化一下:git init
如果没有告知你是谁,就先告知一下:

git config --global user.name "xx"
git config --global user.email "xx"

然后和远程仓库链接:

git remote add origin xxxx.git

最后就可以下拉master分支的内容了:

git pull <远程仓库> <远程分支> : <本地分支>  // 如果本地分支就是当前分支,就可以省略
git pull origin br: bl // 把远程的br和本地的bl合并
git pull origin master // 把master分支拉到本地当前分支

再次推送前,您可能需要先整合远程变更

当我们和其他人一起共同操作同一个分支,修改了同一处时,若其他人push到远程仓库后,我们无法直接push,在Gitkraken上会报:“Please fetch origin before pushing.”。

1 git命令行解决

1.首先输入git pull,将远程仓库拉到本地,此时就会有冲突。
2.打开冲突的文档,其中标注好了<<<<HEAD处 的是本地的代码,======下面的是别人提交的代码,此时我们将确定将哪一部分删除即可。
3.然后再git pull origin master

2 GitKraken中GUI界面中解决

1.首先点击Pull,此时会报错:“A file conflict was found when attempting to merge into HEAD”
2.点击右侧栏中冲突的文档名,进入修改界面。修改界面中左侧是其他人改的,右侧是自己改的。通过点击每一行前面的+/-,来确认是否包含这一行。
3.点击右上角的save,就退出了修改界面。
4.在右侧栏中点击continue rebase,即解决了冲突。

3 GitKraken使用注意

1.stage all changes = git add
2.commit = git commit
3.push = git push

VS code中使用git

1.添加到缓存区与本地库

在改完代码之后,关闭该文档,在source control栏会冒出一个数字,点进去之后,在changes下面点+,即stage changes,就是相当于git add,加入到了缓存区。
然后点击source control栏上的对勾,然后让你输入commit,输入完关闭即可,即完成commit。

Git 用法

git log --pretty=format:

git提交的时候会生成哈希串,可以取其长串%H或者短串%h

https://www.cnblogs.com/bellkosmos/p/5923439.html
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值