注册完GIT账号之后,GIT如何区分本地仓库和远程仓库,通过两种方式。
一、第一种方式:
通过https协议,通过这种方式每次commit的时候都需要输入账号和密码比较繁琐
二、通过ssh的方式(推荐使用)
ssh工作原理:在我们提交代码的时候,github需要用我们账号对应的公钥解密我们的代码,如果成功则提交合法。那么如何生成密钥呢?
三、Git密钥生成
1、创建ssh密钥
我们可以使用一个名为 的特殊实用程序ssh-keygen
,它包含在标准的 OpenSSH 工具套件中。默认情况下,这将创建一个 3072 位的 RSA 密钥对。
在计算机终端中输入ssh-keygen回车。
默认情况下,密钥将存储在~/.ssh
用户主目录中的目录中。私钥将被调用id_rsa
,关联的公钥将被调用id_rsa.pub。
注意:此过程不可逆,如果你已有密钥则谨慎使用(如果首次生成密钥直接选‘y‘回车,如果不是则谨慎使用)
2、查看密钥(密钥生成之后,执行一下命令查看)
在终端执行 cat ~/.ssh/id_rsa.pub 查看密钥。
3、将密钥复制到github中
在github中点击头像中的设置找到SSH密钥,将第二步中的密钥复制到github中。自此可完成密钥的配置
具体可参考一下两片文章:
1、https://zhuanlan.zhihu.com/p/81338250
2、https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
四、Git 常用命令
1、初始化git文件(首次往github上提交时需要将本地文件初始化成git管理文件,如果利用git clone的文件则不用此步骤)
git init
2、克隆
git clone 文件地址
3、添加文件到暂存区
添加全部文件到暂存区 git add . 添加单个文件到暂存区 git add 文件名
4、查看日志
查看所以文件历史提交 git log 查看单个文件历史提交 git log 文件名
5、撤回修改(谨慎使用)
撤回所有未提交的修改内容 git checkout . 撤回指的文件未提交的内容 git checkout HEAD 文件名
6、提交
git commit -m '描述内容'
7、查看状态
git status
8、创建分支
创建并切换到当前分支 git checkout -b 分支名 创建分支 git branch 分支名
9、切换分支
git checkout 分支名
10、删除分支
删除本地分支 git branch -d 分支名 删除远程分支 git push origin -d 分支名
11、远程分支已删除,本地依旧存在
git remote prune origin
12、查看分支
查看本地分支 git branch 或 git branch -l 查看远程分支 git branch -r 查看全部分支 git branch -a
13、查看本地追踪关系
git branch -vv
14、查看远程地址
git remote -v
15、合并分支
git merge 分支名
16、创建关联分支(创建基于origin/test的新分支)创建关联分支在git push时会提示提交到远程test分支还是新建分支(按照提示来就可以)
git checkout -b 新分支名 origin/test
17、拉取分支(拉取分支前必须和远程做映射,映射时在git push时会提示,按照提示执行命令就可以映射了)
git pull
18、推送代码(推送时需要和远程做映射,如果没有映射在执行此命令的时候会提示,按照提示来就可以)
git push
19、去掉git管理功能的命令(在克隆他人代码之后,如果不想要关联关系可执行一下命令)
find . -name ".git" | xargs rm -Rf