目录
一、初始化Git仓库
首先mkdir创建一个空目录:
$ mkdir learngit //创建目录mkdir
$ cd learngit //切换到指定目录cd
$ pwd //显示u当前所在工作目录的全路径pwd
/home/yanran/learngit (显示)
你的主目录中就会出现一个空目录
接下来使用git init把目录变成Git可管理的仓库
在learngit目录下创建一个txt文档:
添加成功
二、添加文件到Git仓库
接下来把文件放到Git仓库中去:
- 用命令
git add
告诉Git,把文件添加到仓库(没有任何显示即添加成功,没有消息就是好消息) - 用命令
git commit
告诉Git,把文件提交到仓库(-m
后面输入的是本次提交的说明,类似备注)
1 file changed
:1个文件被改动(新添加的readme.txt文件)
2 insertions
:插入了两行内容(readme.txt有两行内容)
三、提交并查看修改
这时候我改变了TXT文档里的内容,想要知道仓库状态,运行git status
命令看看结果:
以上输出告诉我们readme.txt被修改过了,但没有提交。
如果想知道具体修改了什么内容,则输入git diff
:
(git diff
顾名思义就是查看difference) 从输出可以看出我们在第一行添加了个单词。
接下来我们提交修改(add+commit):
提交完成后看看仓库现在的状态:
四、查看提交历史
git log
查看那些你记不住的提交历史,显示从最近到最远的提交日志:
这时候想要启动时光穿梭机,把readme.txt
回退到上一个版本应该咋办?
五、回退版本
[温习learn git branching]
在Git中,
HEAD
表示当前版本,也就是最新的提交。而
上一个版本就是HEAD^
,上上一个版本就是HEAD^^
(往上100个版本可写成HEAD~100
)
想要让readme.txt
回退到上一个版本,我们用git reset:
这就被还原了。
但是这时候我们用git log查看记录发现:
哦吼,第三次提交无了。
不要慌,没关终端的话回去找找第三次提交的commit ID(就是commit后面跟着的一长串),然后reset一下就能回来了:
万一你把终端关了也没事,git reflog给你一次悔过的机会,它会记录你的每一次命令:
这样你同样可以得到commit ID
六、一些真正的实操
OK上面这些问题都不大,其实初次接触git只需要几个指令完成本地git仓库同步到github远程仓库上就好了。
- 1 . 首先在本地建立一个目录,然后进入该目录,如我在我的主目录下建立一个IdeaProjects文件夹,将自己想要上传的代码放在该文件夹里;
- 2 . 然后结合ls和cd进入相对应的文件夹;
- 3 . 接着初始化它;
命令:$ git init
- 4 . 将本地项目工作区的所有文件添加到暂存区;
命令:$ git add .
- 5 . 将暂存区的文件提交到本地仓库;
命令$ git commit -m "first commit"
- 6 . 将本地仓库关联到Github上;
命令:$ git remote add XXX 网站地址
- 7 . 将代码由本地仓库上传到Github远程仓库,在这里要注意下面会有叫你输入你的githu用户名和密码;
命令:$ git push -u XXX master
接下来输入你的Github名字和password即可。
这一步发现无法使用账号密码进行代码上传从而导致出错:
解决方法是去申请个人访问令牌。详情参考:github开发人员在七夕搞事情:remote: Support for password authentication was removed on August 13, 2021._点亮~黑夜的博客-CSDN博客_github开发人员在七夕搞事情
申请好后即上传成功