GitHub
首先你需要注册一个GitHub的账号(访问有时候会很慢耐心等待), 创建好以后我们就可以把本地的电脑和远程的GitHub连接起来了!在看我们的界面右上角
点击settings
点击SSH
配置SSH key
那么问题来了SSh key在哪里?直接在本机Mac终端
/ Win CMD
输入
ssh-keygen -t rsa -C "yourself email.com"
换成你的邮箱写在里面然后回车,
它会让你设置一些密码,不用管他一路回车就好,回车完以后他会告诉你的密钥存放在哪个目录
Linux 会放在 /root/.ssh/
Win 也会有对应的提示
的
MacOS 为例 密钥放存放在了 /User/liuyang/.ssh
:
SSH密钥文件在 .ssh
隐藏文件下,我们通过访达搜索到达
id_rsa是私钥, id_rsa.pub是公钥 known_hosts不必了解(这里用过多了解,把私钥保留好不要告诉任何人,我们打开并且复制公钥的内容),打开终端 输入一下内容
然后把公钥的内容粘贴到Git 的 SSH keys 就好了,title 可以自己写一个标题
这样我们本地的电脑就和远端的Github“联系”好了,这两者直接就可以互通了!好了接下来我们在Github开始创建我们的小黑屋 吧
我们回到Github主页
…or create a new repository on the command line 翻译: …或在命令行上创建新的存储库
…or push an existing repository from the command line 翻译: …或从命令行推送现有存储库
因为我们在本地已经创建了我们的Git仓库所以我们选择后者,推送到现有的储存库到社区,我们只需要在本地 Git 仓库 输入上面的提示命令就好了,我的提示命令是
git remote add origin https://github.com/Titanium-ly/MyfistGit.git
git push -u origin master:
然后回到主页可以看到我们的公共仓库 MyfirstGit
LICENCE(声明)是我自己又多写的一个文件,到这里我们已经能够把本地的作品上传到社区了!
Clone
我们新建一个资料库,记得选上最下面的 Initialize this repository with a README 翻译:使用自述文件初始化此存储库 , 这个会自动生成一个README.md
文件, 通常来说这个文件是来写你对自己“作品”的使用说明,形象来说是 “使用说明书”但不止“说明书”/
这个资料库在Github上创建好了,那么我们尝试在本地Clone把它下载到本地使用,打开我们刚刚创建好的资料库
回到本地后我们 使用 git clone
命令克隆这个项目
分支Branch
我们知道有时候一个项目的开发可能需要多个人一同开发,这时候为我们的项目创建分支分配各自任务就能够提高开发效率,这就像是大树,刚在我们的提交修改都是在“树干” 上完成的,接下来让我们在一个“树杈”下工作
回到Git仓库
[root@StrawberryJam Git]# pwd
/home/liuyang/Git
使用git branch “branchname”
来创建分支 , git checkout
命令来切换分支
git branch branch_1
git checkout branch_1
git branch
命令查看我们的所有分支
然后我们对 demo.txt
文件进行修改,我们添加了一句话 这是分支的修改
随后git add 和 commit
然后我们切换到 master分支看一下文件内容,我们发现这个分支上的内容并没有被修改,原因是我们并没有把brach_1
分支合并到master
使用git merge
命令把branch_1 合并到 master
如果不再需要branch_1分支,那么就可以把它删掉了
分支冲突
我们知道一个分支修改,另一个分支不动,那么合并的时候就会很正常的合并,那么如果两个分支都对一个文件修改了怎么办呢?那就保留一个,删除一个,接下来我们演示一下
创建新的分支branch_2
并在次分支上修改demo.txt
文件,提交修改。
随后我们切换到master
,并且在master对demo.txt 文件进行修改,并且提交
我们在两个分支上都对同一个 demo.txt
文件做出了修改,现在我们尝试合并两个分支
cat demo.txt
查看文件,并且给出了不同分支的冲突内容
看来我们只能修改demo.txt
内容来让他们合并了,我觉得master的修改不错,我选择master的修改,然后重新提交
最后删除 branch_2
分支
到这里我们也知道了如果出现分支冲突要如何处理了,nice!
其他
Git的使用:传送门