Git版本管理标签02标签03标签04标签05

说明:

  • 版本控制管理

基础配置

  • 配置个人信息

    1. $ git config --global user.name "Your Name"
    2. $ git config --global user.email "email@example.com"

    image.png

  • 检测配置是否成功

    1. Git config --list

    image.png

  • 当然啦,也可以进行其他的配置,如 git config —global color.ui true

    生成SSH密钥

    SSH密钥是用来连接远程仓储库的免身份验证,类似于账号密码之类的。
    首先,git要产生SSH,然后远程仓储库要认识ssh。这里只介绍git如何产生SSH
    创建 SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开 Shell(Windows下打开Git Bash),创建SSH Key:

    1. ssh-keygen -t rsa -C "youremail@example.com"

    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可。
    如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

然后登录GitHub(或者其它Git代码托管平台),打开Account settingsSSH Keys页面,点Add SSH Key,填上任意Title,在Key文本框里粘贴**id_rsa.pub**文件的内容

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

仓储库

格式化仓储库

  1. Git init

则会添加一个隐藏文件 .git
image.png :::info 小贴士:

  • 获取当前分支的状态 Git Status
  • 获取所有文件 ls -ah :::

    创建文件夹

    1. $ mkdir studyGit --创建文件夹 studyGit
    2. $ cd studyGit --切换到文件夹studyGit
    3. $ pwd --查看当前文件

    image.png

    创建文件与编写文件

    1. touch readme.txt --创建一个空文件readme.txt
    2. vi readme.txt --创建并打开文件readme.txt

    进入编辑状态
    image.png
    编辑好内容后

  • 首先点击ESC复位按键(退出编辑状态)

  • 然后输入命令 :wq (即关闭并保存)

image.png
查看编写的内容

  1. cat readme.txt

image.png
若重新编辑文件readme.txt

  1. vi readme.txt --打开这个文件
  2. w --进入编辑状态

文件从本地添加到缓存库中

  1. Git add readme.txt
  2. git add file1.txt file2.txt --可以一次添加多个文件
  3. Git add . --将所有的文件都添加到缓存区

将缓存区的文件提交到远程仓储库

  1. Git commit -m 'notes'

疑难解答

Q:输入git add readme.txt,得到错误:fatal: not a git repository (or any of the parent directories)
A:Git命令必须在Git仓库目录内执行(git init除外),在仓库目录外执行是没有意义的。
Q:输入git add readme.txt,得到错误fatal: pathspec 'readme.txt' did not match any files
A:添加某个文件时,该文件必须在当前目录下存在,用ls或者dir命令查看当前目录的文件,看看文件是否存在,或者是否写错了文件名。


  • 本文作者:GeekPower - Felix Sun
  • 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!