[关闭]
@2368860385 2021-09-22T09:54:10.000000Z 字数 3510 阅读 189

GIT学习笔记

面向大数据的python开发


1、设置用户名和设置邮箱

  1. $ git config --global user.name "menjianotng"
  2. $ git config --global user.email "menjiantong@foxmail.com"
  3. $ git config user.name // 查看用户名
  4. $ git config user.email // 查看用户邮箱
  5. $ git config --global --unset user.name "menjiantong" // 取消设置的用户名
  6. $ git config --global --unset user.email "menjiantong@foxmail.com" //取消设置的邮箱

2、创建本地库

版本库:版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

  1. $ cd F:
  2. $ mkdir ceshi_git
  3. $ cd ceshi_git
  4. $ pwd // 显示当前路径
  5. $ git init // 初始化,把这个目录变成Git可以管理的仓库

3、把文件添加到版本库

git其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

首先本地创建一个文件,并将这个文件放到ceshi_git下(子目录也可以),否则git找不到。然后我们尝试将这个文件添加到git仓库。

  1. $ git add readme.txt
  2. $ git commit -m "提交了readme.txt" // 引号中为本次提交的说明
  3. [master (root-commit) eaadf4e] wrote a readme file
  4. 1 file changed, 2 insertions(+)
  5. create mode 100644 readme.txt

git add < file> 可以使用多次,然后使用一次git commit一次把他们提交到git仓库。

4、版本回退

此时我们可以不停的修改readme.txt,并且再每次修改了提交,然后如果对文件修改是出了错误,便可以使用git查看修改了什么地方,并回退的最后一次正确的地方。

  1. $ git log // 查看修改日志
  2. $ git log --pretty=oneline // 以一行形式查看
  3. $ git reset --hard HEAD^ // 回退到上一版本
  4. $ git reset --hard HEAD^^ // 回退到上上版本
  5. $ git reflog // 查看命令历史,并可以查询到每个版本的id,可以版本前进(与回退对应)
  6. $ git reset --hard ____ // ____上可以输入每个版本的id

5、工作区和暂存区

工作区(Working Directory):电脑里能看到的目录,比如ceshi_git文件夹就是一个工作区
暂存区:即stage部分,使用git add可以将文件添加到这里
master:即git控制的仓库,Head为指针。

注意:每次修改没有将文件放到stage(暂存区),必须用git add命令才可以更新到stage,然后用git commit提交到仓库。
比如,
1、git add readme.txt
2、修改readme.txt
3、git commit -m "提交readme.txt"
此时提交的是未改变的readme.txt

  1. $ git diff HEAD -- readme.txt // 提交后,可以使用此命令可以查看工作区和版本库里面最新版本的区别

6、撤销修改

如果在本次工作区将本地文件写错了,可以使用git从本地版本库恢复。
1、本地文件写错,但没有添加到暂存区(stage),此时

  1. $ git restore <file> // 从本次版本库恢复
  2. $ git checkout -- <file> // 从本地版本库恢复

2、本地文件写错,提交到了暂存区

  1. $ git restore --stated <file>
  2. $ git reset HEAD <file>

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

3、提交到了暂存库,使用版本回退恢复。

7、删除文件

现在从本地工作区删除了一个文件,git仓库中却有这个文件。

1、如果确实需要删除,可以从git仓库中删除。

  1. $ git add text.txt // 添加text.txt到缓存区
  2. $ git commiet -m "提交text.txt到git仓库" // 添加text.txt到git仓库
  3. $ rm text.txt //删除本地工作区的text.txt
  4. $ git status // 此时显示delete text.txt,此修改没有进入缓存区
  5. $ git rm text.txt // 从git仓库删除,
  6. $ git status // 此时显示delete text.txt,此修改已经进入缓存区
  7. $ git commit -m "删除了text.txt" // 此时git仓库已经更新,没有了text.txt

2、不小心删除了,可以从本地git仓库恢复

  1. $ git checkout text.txt // 从本地git仓库恢复

8、远程仓库

  1. cd ~/.ssh //查看本地ssh key
  2. ls // 当前文件下的所有文件,包含 id_isa 和 id_isa.pub
  3. $ ssh-keygen -t rsa -C "youremail@example.com" // 如果没有,使用这个生成密钥,一路回车

这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

9、使用github建立仓库

1、添加ssh_key
登录github->setting->ssh and GPG keys->New ssh keys

将id-isa.pub的内容复制进去即可

2、创建github仓库

创建成功后

这里有仓库的https和ssh,github推荐使用一下代码创建一个新的仓库或者从本地的git版本库上传。

  1. //create a new repository on the command line 创建github远程仓库
  2. echo "# ceshi_git" >> README.md
  3. git init
  4. git add README.md
  5. git commit -m "first commit"
  6. git branch -M main
  7. git remote add origin git@github.com:menjiantong/ceshi_git.git
  8. git push -u origin main
  9. //push an existing repository from the command line 上传本地github仓库
  10. git remote add origin git@github.com:menjiantong/ceshi_git.git // menjiantong为用户名,ceshi_git为远程github仓库名
  11. git branch -M main // 将默认分支改名为main
  12. git push -u origin main

3、上传本地git仓库到github远程仓库
在本地的ceshi_git仓库下运行上面的三行命令,因为我们添加了本地ssh_key,所以是可以推送上去的。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

通过上面三行可以将本地库与远程仓库关联,以后每次本地修改都可以推送到远程仓库进行更新。
本地库也可以和远程库取消关联(但github远程仓库不会真正删除,需要从网站上删除)

  1. $ git push // 当本地仓库进行了改变时,使用这一行命令可以将本地库推送到和远程仓库
  2. $ git push origin master // 应该等同于上面,廖雪峰博客写的
  3. $ git remote -v // 查看远程仓库信息
  4. origin git@github.com:michaelliao/learn-git.git (fetch)
  5. origin git@github.com:michaelliao/learn-git.git (push)
  6. $ git remote rm origin
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注