chaoz的杂货铺

生命有息、学无止境、折腾不止

0%

版本控制-git入门

安装什么的简单的就不说了,基本操作了~

基本的 Git 工作流程如下:

  1. 在工作目录中修改某些文件。
  2. 对修改后的文件进行快照,然后保存到暂存区域。
  3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。

    Git基本命令:

    Git mingling

Git具体命令(初识下)

mkdir python

(创建文件夹test)

cd python

(切换到test目录)

touch ex1.py

(新建a.md文件)

Git init

(初始化Git仓库)

Git status

(查看状态,这个命令可以算是使用最频繁的一个命令了,没事就输入下这个命令,来查看你当前 git 仓库的一些状态)
图片如下:
ststus

默认就直接在 master 分支,关于分支的概念后面会提,这时最主要的是提示 ex1.py 文件

Untracked files ,就是说 ex1.py 这个文件还没有被跟踪,还没有提交在 git 仓库里呢,而且提
示你可以使用 git add 去操作你想要提交的文件。

Git add

(提交到Git仓库里面)
add
此时提示以下文件 Changes to be committed , 意思就是 ex1.py 文件等待被提交,当然可以使用 git rm –cached 这个命令去移除这个缓存。

Git commit

(接着输入 git commit -m ‘first commit’ ,commit 是提交的意思,- m 代表是提交信息,执行了以上命令代表我们已经正式进行了第一次提交。这个时候再输入 git status ,会提示 nothing to commit。)
commit

Git log

(git log 命令可以查看所有产生的 commit 记录,所以可以看到已经产生了一条 commit 记录,而提交时候的附带信息叫 ‘first commit’ 。)
log

Git branch

(branch 即分支的意思)

分支的概念很重要,尤其是团队协作的时候,假设两个人都在做同一个项目,这个时候分支就是保证两人能协同合作的最大利器了。

举个例子,A, B俩人都在做同一个项目,但是不同的模块,这个时候A新建了一个分支叫a, B新建了一个分支叫b,这样A、B做的所有代码改动都各自在各自的分支,互不影响,等到俩人都把各自的模块都做完了,最后再统一把分支合并起来。

执行 git init 初始化git仓库之后会默认生成一个主分支 master ,也是你所在的默认分支,也基本是实际开发正式环境下的分支,一般情况下 master 分支不会轻易直接在上面操作的

如果我们想在此基础上新建一个分支呢,很简单,执行 git branch a 就新建了一个名字叫 a 的分支,这时候分支 a 跟分支 master 是一模一样的容,我们再输入 git branch 查看的当前分支情况:branch

但是可以看到 master 分支前有个 * 号,即虽然新建了一个 a 的分支,但是当前所在的分支还是在 master 上,如果我们想在 a 分支上进行开发,首先要先切换到 a 分支上才行,所以下一步要切换分支

git checkout python1 
checkout

快捷操作方式

git checkout -b python2
(这个命令的意思就是新建一个python2分支,并且自动切换到python2分支。)checkout2

git merge

(合并分支)
需要先做两步,第一步是切换到 master 分支,如果你已经在了就不用切换了,第二步执行 git merge python1 ,意思就是把 python1 分支的代码合并过来,不出意外,这个时候a分支的代码就顺利合并到 master 分支来了。意外的情况就是发生了冲突,不方便合并!

git branch -d

(删除分支)

git branch -D

(强制删除分支,原因是该分支没有和master分支进行合并)

Git tag

(添加标签/版本号的意思)

新建一个标签很简单,比如 git tag v1.0 就代表我在当前代码状态下新建了一个v1.0的标签,输入 git tag 可以查看历史 tag 记录。

想要切换到某个 tag 怎么办?也很简单,执行 git checkout v1.0 ,这样就顺利的切换到 v1.0 tag的代码状态了。

SSH爬坑

1. SSH简介

简单点说,SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。

生成SSH key

Linux 与 Mac 都是默认安装了 SSH ,而 Windows 系统安装了 Git Bash 应该也是带了 SSH的。大家可以在终端(win下在 Git Bash 里)输入 ssh 如果出现以下提示证明你本机已经安装 SSH。

 ssh-keygen -t rsa 

就是指定 rsa 算法生成密钥,接着连续三个回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。

PS:输入密码的话要做好备份,防止密码遗忘~
如果密码忘记就要删除重建了!

3. GitHub 上添加 SSH key

在 GitHub 上的设置页面,点击最左侧 SSH and GPG keys ,然后点击右上角的 New SSH key 按钮,在 Key 那栏把 id_rsa.pub(使用 EditPlus 或者 Sublime 等打开复制就行了) 公钥文件里的内容复制粘贴进去就可以了,Title 那栏不需要填写,点击 Add SSH key 按钮就ok了。

SSH key 添加成功之后,输入 ssh -T git@github.com 进行测试,如果出现以下提示证明添加成功了。

成功

错误一:

错误

改了密钥的存放位置,此时,你需要分别执行下面两条命令:


ssh-agent bash
ssh-add 这里填写你密钥的存放位置

如果你给公钥设置了密码,那么执行 ssh-add xxx 之后会提示你输入密码。

错误二:

错误2
宿主的 GITHUB.com(52.74.223.119)的真实性是无法成立的。RSA密钥指纹是Sa256:NTBG6KXUPJWGL7E1IGOCSFPROXTXDCARLVIKW6E5SY8。

重新生成了密匙,选择yes,然后显示
解决

请把 .gitattributes 加到你的 Git 仓库中

mark

喜欢这篇文章?打赏一下作者吧!

欢迎关注我的其它发布渠道