最近公司要求将代码备份到码云上,所以特地搞了一下
git
,还是有一些坑的。参照廖雪峰老师的博客,自己做个简单记录
1. 简单解释
git
是做版本控制的工具,git 命令是管理版本库
的命令。版本库又叫仓库
,仓库里存放的就是我们需要管理的代码文件。
如果要将你的代码提交到github
或者码云
上,先要明确两个概念:本地仓库
和 远程仓库
。尤其要明确,git 命令中,哪些命令是操作本地仓库,哪些命令是操作远程仓库,一定要理解。
2. 本地仓库操作
先贴上几个基本命令:
git init #创建本地仓库
git add #添加文件到缓存
git commit #提交缓存文件到本地仓库
git init
命令是在当前目录下创建一个本地仓库,会生成一个.git
的文件夹,这就是我们的本地仓库;
git add <文件名>
是将当前目录下的某个文件添加到缓存,这时候该文件并没有添加到仓库,只是添加到了缓存中。git add .
可以将当前目录下所有文件添加到缓存;
git commit -m <描述>
命令是将添加到缓存中的文件正式提交到本地仓库中。描述是指针对本次提交的简单说明,比如修改了什么文件,方便以后查阅;
git status
查看当前本地仓库状态,比如修改了什么文件,哪些文件没有提交等等;
git diff
查看文件与修改之前的不同之处,就是查看修改内容;
git log
查看每次修改的记录,这时候 commit 命令中的 <描述> 就派上了用场;
3. 版本切换
git 中,HEAD
表示当前版本,HEAD^
表示上一个版本。当然,每个版本都有自己唯一的commit id
,git log
命令可以查看所有版本的 commit id
, 这些都方便了我们做版本切换。
版本切换命令:
git reset --hard <版本>;
版本参数可以是HEAD
或commit id
;
git reflog
命令可以查看我们所有执行过的 git 命令,方便查找 commit id;
4. 同步到远程仓库
如果你想把项目代码存到 GitHub
或者 码云
上,假设你在 GitHub 上创建了一个名为 myapp
的仓库,这个仓库就是远程仓库
。现在你要将本地仓库和远程仓库进行同步,把项目代码提交到 GitHub 上:
git remote add origin <远程仓库地址>; #关联远程仓库
git push -u origin master #将本地 master 推送到远程
注意:执行git push -u origin master
这一步的时候,可能会报错:
Warning: Permanently added the RSA host key for ...
Permission denied (publickey) ...
这时候需要创建ssh公匙
,执行命令:
ssh-keygen -t rsa -C "<你的GitHub账户名>";
之后一路回车,如出现下图,则创建成功。
创建成功之后,查看公匙:
cd ~/.ssh && cat id_rsa.pub
复制公匙,然后到 GitHub 新建:
这样就好了。第一次提交执行:
git push -u origin master;
之后提交可以不带 -u 参数:
git push origin master;
5. 最后一个坑
如果你的 GitHub 仓库不是新建的,你会发现,还是提交失败!
这里我们再加一步,合并远程仓库与本地仓库,你的远程仓库最好是空的
git pull origin master --allow-unrelated-histories
这样就OK,快去提交吧!
本文由
杨成功
原创,更多原创文章请查看 这里
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。