git的使用以及遇到的小坑

本文介绍了Git中常用的命令操作,包括远程仓库的添加、测试连接、抓取数据等基本操作,以及分支追踪设置、版本回退、分支合并等高级用法,并详细解释了git fetch与git pull的区别。

添加远程仓库地址

$ git remote add <name> <ssh url>

测试连接状况

$ ssh -T git@git.coding.net

抓取远程仓库数据到本地

这样就可以本地访问该远程仓库中的所有分支

$ git fetch [remote-name]

远程仓库删除和重命名

$ git remote rename <oldname> <newname>
$ git remote rm  <remote name>

Git手动建立追踪关系

$ git branch --set-upstream master origin/next

版本回退

本地版本回退

$ git reset --hard  <commitID>

此时,本地版本落后于远程版本,push强制推送

$ git push  -f  <remote name>

git pull

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

$ git pull <远程主机名> <远程分支名>:<本地分支名>

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

$ git pull origin next

git push

git push命令用于将本地分支的更新,推送到远程主机。

$ git push <远程主机名> <本地分支名>:<远程分支名>

注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

$ git push origin master

git fetch 和pull的区别

  • git fetch:从远程仓库获取最新版本到本地,不会自动merge
git fetch origin master:tmp
git diff tmp
git merge tmp

从远程获取最新版本,比较之后再合并

  • git pull :从远程获取到本地,直接合并

Tips:
在向mastermerge合并的时候,出现冲突,使用git log显示日志的时候发现推送的用户名不同。原来是因为我同时使用了githubcoding两个网站来管理仓库,而两个网站注的册用户名不同。

这里严重提醒,使用多个网站管理仓库的小伙伴,最好不要在config配置文件将用户名和注册邮箱,以及远程仓库的地址写死,最好每次手动添加,才不会出现乱入的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值