git的用法和配置
一、git的用法
感悟:远程仓库并不能合并分支,需要
git fetch
拉取到本地仓库,然后在本地使用git switch
或者git checkout
,转换分支,然后在本地进行分支的合并。故因此,通常需要把分支在本地合并,然后在push到远程仓库
1. git branch的常见用法
- git branch -v ——查看本地分支的信息
- git branch -vv ——查看更详细,包含了本地分支与远程分支之间的跟踪关系信息
- git branch -r ——查看远程分支
- git brach -a ——查看所有的分支
2. git pull感悟
- git pull 功能:从远程仓库拉取分支并合并到当前的分支下,包括两部分:git fetch和git merge。故其功能比merge要强
- git pull主要是本地仓库和远程仓库保持同步,获取最新的代码,以便与能够git push
3. git push
- git push 主要用于把本地仓库的代码,提交到远程仓库中
- 有两种情况:
- 如果远程仓库中有本地的master分支,且是同步的(意思就是本地仓库的作用域要大于远程仓库),那么则会被添加到远程仓库的master分支下(举例是master)。如果是没有同步,也可以添加
--force
来使用,强制push,但是会造成很多后果。 - 如果远程仓库中没有本地的dev分支,则会在远程仓库中新建一个dev分支(举例)
- 如果远程仓库中有本地的master分支,且是同步的(意思就是本地仓库的作用域要大于远程仓库),那么则会被添加到远程仓库的master分支下(举例是master)。如果是没有同步,也可以添加
- git push 到远程仓库的分支,这样表示:orgin/master、origin/dev
4. git remote
- git remote -v 可以查看本地仓库连接了几个远程仓库
git remote add <remote_name> <remote_url>
, remote_url可以是ssh,也可以是https
5. git merge
- git merge
可以把branch分支合并到当前分支上
二、git的配置
1.连接gitte和github
-
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "pohongying520@qq.com
添加密钥。 -
ssh-add -K ~/.ssh/id_rsa_github
将密钥信息存储到keychain中,永久保存;如果使用ssh-add ~/.ssh/id_rsa_github
只会将信息存储至session中,关机重启后自动清除,这时候连接ssh-T git@github.com
则会报Permission denied
的错误。 -
如果存有多个账户的密钥,则要创建config文件:
# Default gitHub user Self Host github HostName ssh.github.com User git IdentityFile ~/.ssh/id_rsa_github # gitee Host gitee HostName gitee.com User git Port 22 IdentityFile ~/.ssh/id_rsa_gitee
-
有时候连不上,可能是因为域名污染的问题,无法通过域名解析得到正确的ip地址,这时候我们往往需要更改host文件
sudo vi /etc/hosts
, 把github相关的域名和对应的IP绑定,最后刷新dns缓存sudo killall -HUP mDNSResponder
。 -
idea配置github,没有项目可以share ……project,有项目git push。使用gitee要安装插件
- git命令行,邮箱无实际含义,只用来做标识。
- 服了,ssh 连接太多,导致登录不上了。github需要git设置代理,gitee需要关掉代理,我弄了一下午,差点没把我整疯,也好,希望给以后长点教训。ssh -T git@ 用来测试ssh连接,ssh -V git@ 用来debug,@后面通常是ssh地址,也可以是htpps地址,不过要输入密码,如果ssh设置密匙有问题的话,可以考虑这个https。
- git remote add [自定义远程项目名] [项目地址 可以ssh和https],git push [远程项目名] [当前分支名称]:[远程分支]
本文暂时没有评论,来添加一个吧(●'◡'●)