ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GIT学习笔记

2021-09-22 18:03:35  阅读:134  来源: 互联网

标签:git 版本 仓库 笔记 github 学习 GIT 本地 txt


GIT学习笔记

目录


看着SovietPower一直没有弃更,还发现自己的博客还有人看,所以想继续写写。
以后尝试记录下自己的学习笔记,课程作业一类的。


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

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

2、创建本地库

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

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

3、把文件添加到版本库

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

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

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

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

4、版本回退

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

$ git log // 查看修改日志
$ git log --pretty=oneline // 以一行形式查看
$ git reset --hard HEAD^ // 回退到上一版本
$ git reset --hard HEAD^^ // 回退到上上版本   
$ git reflog // 查看命令历史,并可以查询到每个版本的id,可以版本前进(与回退对应)
$ 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

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

6、撤销修改

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

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

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

$ git restore --stated <file>
$ git reset HEAD <file>

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

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

7、删除文件

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

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

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

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

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

8、远程仓库

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

\(id\_rsa\)和\(id\_rsa.pub\)这两个就是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版本库上传。

//create a new repository on the command line 创建github远程仓库
echo "# ceshi_git" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:menjiantong/ceshi_git.git
git push -u origin main

//push an existing repository from the command line 上传本地github仓库
git remote add origin git@github.com:menjiantong/ceshi_git.git // menjiantong为用户名,ceshi_git为远程github仓库名
git branch -M main // 将默认分支改名为main
git push -u origin main

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

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

$ git push // 当本地仓库进行了改变时,使用这一行命令可以将本地库推送到和远程仓库
$ git push origin master // 应该等同于上面,廖雪峰博客写的
$ git remote -v // 查看远程仓库信息
origin  git@github.com:michaelliao/learn-git.git (fetch)
origin  git@github.com:michaelliao/learn-git.git (push)
$ git remote rm origin

未完


参考:廖雪峰的博客

标签:git,版本,仓库,笔记,github,学习,GIT,本地,txt
来源: https://www.cnblogs.com/mjtcn/p/15320998.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有