当前位置:   article > 正文

Git和Github代码管理实践_git licenseplate

git licenseplate

    对于代码的管理我们一般使用GitHub+Git或SVN+Redmine,下面主要接介绍一下GitHub和Git的常用操作:

1、GitHub 创建开源项目
  先登录其官网注册一个免费使用的账号,依次填写用户名, 有效邮箱地址以及登录密码, 点击下方的“Create an account”就会自动创建一个用户,进入选择服务的页面,这里我们选择免费使用的条目。选择了免费服务以后就要公开整个项目源码, 如果不想公开源码又要使用 Git 托管服务, 就需要支付一定的费用给 GitHub。

2、验证邮箱地址

  登陆邮箱利用 GitHub 给的链接激活用户之前注册的账号。 在点击激活链接以后,会弹出 GitHub 设置邮箱的页面,这时候不需要额外设置,直接点击右上角的加号(+)按钮,然后选择“New Repository”。


  然后在新建 repository 的页面中,依次填入 repository 名称以及对项目的描述和选择项目是否公开,这里要选择公开,还可以选择项目遵循的许可协议,我们选择的是 GPLv3(可以不选),最后点击“Create repository”完成开源项目的创建.

  创建完毕以后,里面只有许可协议文件和 README 文件的空项目(空版本库),还只是一些初始化的文件,需要用户从本地版本库同步到该远程的 GitHub 版本库。

3、上传代码到 GitHub

  1. gaohui@ubuntu:~$ git config --global user.name "cnhui"
  2. gaohui@ubuntu:~$ git config --global user.email "1252258276@qq.com"

然后使用如下命令生成 SSH Key:

gaohui@ubuntu:~/easypr$ ssh-keygen -t rsa -C "1252258276@qq.com"

  一开始让你确认是否将 SSH Key 文件存放到~/.ssh 目录,如果已经存在该目录,且该目录已经有了 SSH Key, 会询问用户是否覆盖。 接下来让你输入密码, 注意输入密码的时候没有回显, 接着是再次输入密码, 两次密码都是注册 GitHub 时候的登陆密码, 如果一切正常, 然后在~/.ssh 目录会生成 id_rsa 和 id_rsa.pub 两个文件, 它们是 SSH Key 的秘钥对。 id_rsa是私钥,不能泄露出去; id_rsa.pub 是公钥,可以放心地告诉任何人!

  用文本编辑器打开 id_rsa.pub 文件, 将里面的内容全部复制(注意不要修改任何内容, 包括空格和空行和制表符, 什么都不要改), 这里笔者使用 gedit 打开,使用 ctr+ A 即可全选, 使用 ctr +C 即可复制。找到设置 SSH Key 的入口,即在右上角点击下拉箭头

gaohui@ubuntu:~/easypr$ gedit ~/.ssh/id_rsa.pub

  然后点击 seetings,在新页面左侧选择 SSH Keys,在右侧点击“New SSH key”,在下方输入 Title 以及 Key,Title 随便填写,Key 选项的输入框就粘贴刚刚从 id_rsa.pub 复制的内容。如图 4-9 所示,然后单击“Add SSH key”按钮即可添加一个 public key。

设置完 SSH key 以后, 可用如下命令检测公钥、 秘钥以及上述步骤的设置是否正确:

  1. 如果提示用户如下正确信息:
  2. gaohui@ubuntu:~/easypr$ ssh -T git@github.com
  3. Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
  4. Hi cnhui! You've successfully authenticated, but GitHub does not provide shell access.
  5. 使用 git remote 命令设置项目在 GitHub 的 URL:
  6. gaohui@ubuntu:~/easypr$ git remote add origin git@github.com:cnhui/EasyPR-Chinese-license-plate-recognition-system.git
  7. fatal: Not a git repository (or any of the parent directories): .git
  8. gaohui@ubuntu:~/easypr$ git init
  9. Initialized empty Git repository in /home/gaohui/easypr/.git/
  10. gaohui@ubuntu:~/easypr$ git remote add origin git@github.com:cnhui/EasyPR-Chinese-license-plate-recognition-system.git
  11. 其中 origin 表示的是远程代码库的仓库名字, 可以自己定义,同时这个命令将本地代码库和 GitHub 远程代码库关联起来。还需要使用如下命令使得远程代码库的 README 等文件和本地代码库一致,否则不能执行 git push。
  12. gaohui@ubuntu:~/easypr$ git pull --rebase origin master
  13. Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
  14. remote: Counting objects: 12, done.
  15. remote: Compressing objects: 100% (11/11), done.
  16. remote: Total 12 (delta 2), reused 0 (delta 0), pack-reused 0
  17. Unpacking objects: 100% (12/12), done.
  18. From github.com:cnhui/EasyPR-Chinese-license-plate-recognition-system
  19. * branch master -> FETCH_HEAD
  20. * [new branch] master -> origin/master
  21. gaohui@ubuntu:~/easypr$ git push -u origin master
  22. Branch master set up to track remote branch master from origin.
  23. Everything up-to-date
  24. gaohui@ubuntu:~/easypr$ git add ARM\ Linux下EasyPR中文车牌识别系统开发.doc
  25. gaohui@ubuntu:~/easypr$ git commit -m 'cnhui'
  26. [master f55a27c] cnhui
  27. 1 file changed, 0 insertions(+), 0 deletions(-)
  28. create mode 100755 "ARM Linux\344\270\213EasyPR\344\270\255\346\226\207\350\275\246\347\211\214\350\257\206\345\210\253\347\263\273\347\273\237\345\274\200\345\217\221.doc"
  29. 使用下述命令将本地版本库主分支(master) 中的文件上传到 GitHub,其中-u 选项是第一次 push 的时候使用,将本地和远程的 master 分支关联起来,并同步文件。
  30. 其中 master 表示的是远程版本库(origin)的主分支,如果上传成功会有如下提示信息:
  31. gaohui@ubuntu:~/easypr$ git push -u origin master
  32. Counting objects: 5, done.
  33. Delta compression using up to 4 threads.
  34. Compressing objects: 100% (3/3), done.
  35. Writing objects: 66% (2/3)
  36. Writing objects: 100% (3/3), 1.25 MiB | 1.71 MiB/s, done.
  37. Total 3 (delta 0), reused 0 (delta 0)
  38. To git@github.com:cnhui/EasyPR-Chinese-license-plate-recognition-system.git
  39. c130c31..f55a27c master -> master
  40. Branch master set up to track remote branch master from origin.

4、补充

  1. 如果从 GitHub 下载源代码:
  2. git clone git@github.com:cnhui/EasyPR-Chinese-license-plate-recognition-system.git
  3. 如果只是想获取某一个分支的最新内容,只需使用如下命令,表示或其远程版本库 origin 的 master 分支的最新内容。
  4. git pull origin master
  5. 如果git在本地创建了一个仓库并添加了文件,现在这个本地仓库不想要了。可以先清除本地文件夹下的git文件,不会删除仓库里面的文件,然后在重新初始化新建的git仓库。
  6. find . -name ".git" | xargs rm -Rf
  7. 接着add,commit等操作即可
  8. 删除github上文件
  9. sudo git rm read.txt
  10. git push origin master
  11. 恢复误删出的git上文件
  12. git log
  13. sudo git reset --hard "4acb59aa4f8474a2afcdde237827796b4c19f6f9"
  14. 恢复github上的误删的文件:
  15. sudo git add *
  16. sudo git commit -m "linux pcie driver run"
  17. git push origin master
  18. git push -f origin master
  19. (git push origin master --force 》 ! [rejected] master -> master (non-fast-forward))

  Git还有比较常用的用法和技巧:分支管理和搭建Git服务器,推荐廖雪峰老师的博客:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/402126
推荐阅读
相关标签
  

闽ICP备14008679号