git初尝
跨考进科软,要做一个真正的码农了!
怎么能不会用git呢?
感谢孟宁老师带领我们入门。这是梦宁老师的文章:https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg 。这篇git基本功能的使用是根据这篇文章来的。
文章还绍了git在vscode中的用法,所以要先安装vscode。然后安装git。按ctrl+alt+T打开终端,输入sudo apt install git,输入密码,然后输入y确定安装,就行了,很简单且方便。
场景一
然后打开一个vscode的项目,在该项目根目录下打开终端,输入git init,这样就初始化了一个本地版本库。
此时这个项目文件夹下生成了一个.git文件,但是默认是看不到的,因为诗歌隐藏文件。在终端切换到该目录用ls -a能看到。可以cd进去看看里面的目录结构。
回到vscode,按ctrl+shift+G后可以看到这个项目下的文件,如果是正在加载文件的样子,就重启vscode,然后就能在source control中看到这个项目下的所有文件。

可以看到文件的后面都有一个绿色的U,这表示没有将该文件添加到版本库进行跟踪。
点击加号,或者在当前目录下的终端里用git指令 git add README.md,会发生这样的变化:

这说明将README.md变成了一个要提交的变更。在终端输入git status可以看见这个说明。
当把鼠标移到README.md上,可以看到本来加号的位置变成了减号,功能显而易见。
然后点上方的钩号,可以进行提交。提交时要先设置用户名和邮箱。
提交之后如果对README.md进行更改,就会在Changes下又出现README.md,不过原来的U变成了M,就像上图的main.py旁边的标志一样。
但是要发挥git的强大之处,还是要多多使用命令行。下面是一些常用的命令及功能:
git status

git add FILE
git commit -m "Write down something"

git log(之前提交过一次,所以有两次)

git reset --hard HEAD^

像是退回到了第一次提交之处。
git reset --hard commit_id头几个字符

又回到了第二次提交处。
git reflog

记录了一些reset的操作?没有太明白。
场景二
git clone URL可以从远程版本库克隆到本地版本库。
在github上随便找一个项目,找到它的URL,然后在终端中输入:git clone https://github.com/TheAlgorithms/Python.git,就能下载下来。
git remote和git remote -v

场景三
首先在github上创建一个repo,然后在本地打开终端,使用git clone URL的指令将这个repo clone到本地。
cd进这个项目根目录,打开终端,输入git branch,可以发现现在只有一个main分支

创建一个分支 git checkout -b mybranch

可以看到创建了一个新的分支并且切换到了这个分支。
git add FILE 并且git commit -m "text"



场景四
git rebase -i HEAD^^后删掉第二行,发现log的前两行都不见了,HEAD重新指向了原来HEAD的两个之前的位置。

2020-10-02 21:28:39
浙公网安备 33010602011771号