Git入门(一): 基本操作
看黑马的Git笔记
1 配置和查看用户信息
git config --global user.name "volx"
git config --global user.email "1234@qq.com"
git config --global user.name
git config --global user.email
2 解决中文乱码问题
进入git安装目录▶etc▶bash.bashrc,在末尾加上:
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
3 常用指令起别名
进入C▶user▶你的账户下,创建一个.bashrc文件,或者 使用指令
touch ~/.bashrc
可以看到C盘user目录下多了一个.bashrc文件,点击进去编辑指令别名:
# 起别名1:简化 输出 git提交日志 指令为 git-log
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
# 起别名2: 简化 输出当前目录所有文件及基本信息 为 ll
alias ll='ls -al'

这 是git log方法参数的意义。
4 创建本地仓库
- 随便选择一个本地盘新建目录作为本地仓库。
- 右键选择 Git Bash Here
- 输入 git init
成功创建一个本地仓库

5 Git工作目录下文件的增、删、改

5.1 git add filename / git add .
该指令可以把untracked(新创建未暂存)或unstaged(新修改未暂存)的文件加入到暂存区。
- 我们在刚刚创建的本地仓库中,使用
touch test.txt指令可以新建一个文本文件。 - 我们可以使用 vi test.txt进入该文件,点击i进行编写,使用esc + :wq可以完成保存和关闭文件。
- 调用
git status可以查看暂存区、工作区修改的状态。

- 说明还没有被提交,这个文件此刻和git并没有关系,属于untracked的状态。我们可以使用
git add test.txt或git add .【代表add工作路径所有文件到暂存区】将其加入暂存区。

- 现在暂存区有一个新文件test.txt了。
5.2 git commit -m "your commit message"
该指令可以把暂存区的文件提交到仓库。使用
git commit 文件名或git commit .【提交所有文件】。

提交后的status。
5.3 git status
先前我们已经使用过了,该指令可以查看修改的状态。
5.4 git log
该指令我们之前配置过别名,用于输出提交的记录。

可以看到我们上一次提交的记录。
6 版本回退 git reset --hard commitID
使用该条指令,可以让版本回退到指定提交的版本。可以使用
git-log或git log来查看版本的ID。

假设我现在想要回到第一次提交。
小提示:在这里面不能使用ctrl+c复制,这是中止的操作。鼠标选中后就复制了,然后使用鼠标中间的滚轮点击下,就粘贴了。
$ git reset --hard 26f1f35
再来git-log查看下,嚯,现在的版本已经回退了。

我们再看看我们的test.txt。直接使用 vi test.txt,可以发现文本内容也回到了第一次提交的时候,哇,真神奇。吉良吉影觉得很赞.jpg

那难道我们之前提交的版本已经找不到了吗?不是的,之前的版本还在,还是使用CommitID来获得。
$ git reset --hard e074b15

现在我们又回到了第二次提交的时候。你再打开test.txt,就是你第二次提交的版本。
可以这样认为,版本回退这个功能可以让你的文件回退到那个时候,但不会移除你其他提交的版本,通过CommitID可以获取任何时候的版本。
感觉更像这位的技能:

但是假设你回转到了第一版的提交,然后不小心清屏了,找不到其他版本ID了,git log也回到了那个时候提交的版本,找不到之后的了,该怎么办呢?
7 git reflog
这个指令可以看到已经删除的提交记录。

可以看到在这里,时间线是由近到远的,咱们从最下面开始看。首先第一次、第二次提交,没什么意见吧。然后第三次,我们跳转到了第一次的版本,没错,然后第四次,我们跳转到了第二次的版本。都很清晰。
8 分支
8.1 啥是分支
感觉黑马的课程这里说的很乱,自己搜了一下。
Git branches are effectively a pointer to a snapshot of your changes. When you want to add a new feature or fix a bug—no matter how big or how small—you spawn a new branch to encapsulate your changes. This makes it harder for unstable code to get merged into the main code base, and it gives you the chance to clean up your future's history before merging it into the main branch。
- 增加新功能/修改bug都可以使用branch。
- branch是一个指向你的修改的指针。
- 在开发新功能/修改错误时不会影响主线的开发。

8.2 创建分支 git branch xxx

8.3 切换分支 git checkout xxx

💫 在分支上进行add和commit
该操作需要先切换checkout到分支。
我们在这个分支上新建一个文件,然后提交。
git checkout dev01
touch branchfile.txt
git add .
git commit -m "commit of branch"
git-log

现在head指向了branch dev01.
8.4 查看本地分支 git branch

8.5 合并分支 git merge xxx
一般默认是把branch 融合到main上。假设我们现在这个bug修复好了,想把这个分支融合到main的支线上。

8.6 删除分支 git branch -d xxx

为了删除dev01,我们先转到master分支
git branch -d dev01
没想到出来了这个错误,它的意思是你的分支dev01没有完全merged,没有完全融合.

如果我们要继续删除,就只能使用git brand -D dev01

9 .gitignore 忽略文件
我们使用 git add . 时会提交所有文件,如果我们想要一些文件不被提交,可以通过 .gitignore配置,使用通配符/文件名把这些文件写在 .gitignore中,就不会add这些文件。
touch .gitignore
touch abc.aaa
vi .gitignore
添加 *.aaa 意思就是任何以aaa为后缀的文件都不能添加
git add .
git status

只有 .gitignore被add了,abc.aaa没有被添加。

浙公网安备 33010602011771号