1

最近公司要求将代码备份到码云上,所以特地搞了一下 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 idgit log命令可以查看所有版本的 commit id, 这些都方便了我们做版本切换。

版本切换命令:

git reset --hard <版本>;

版本参数可以是HEADcommit 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账户名>";

之后一路回车,如出现下图,则创建成功。

clipboard.png

创建成功之后,查看公匙:

cd ~/.ssh && cat id_rsa.pub

复制公匙,然后到 GitHub 新建:

clipboard.png

clipboard.png

clipboard.png

这样就好了。第一次提交执行:

git push -u origin master;

之后提交可以不带 -u 参数:

git push origin master;

5. 最后一个坑

如果你的 GitHub 仓库不是新建的,你会发现,还是提交失败!

这里我们再加一步,合并远程仓库与本地仓库,你的远程仓库最好是空的

git pull origin master --allow-unrelated-histories

这样就OK,快去提交吧!


本文由 杨成功原创,更多原创文章请查看 这里


杨成功
3.9k 声望12k 粉丝

分享小厂可落地的前端工程与架构