不管是linux还是git,都有相当一部分命令,但是如果不常用,或者久疏战阵,总会有些遗忘。好记性不如烂笔头。

美国《科学》杂志刊发了Betsy Sparrow等的科研论文,称Google等搜索引擎模式可能会损害人的大脑记忆力。意思大概是我们对互联网的依赖程度不断提高。对于绝大多数人来说,寻找某个问题的答案就是简单地敲击键盘和滑动鼠标。而对于那些需要思考的问题,人们也会条件反射般地借助网络搜索答案。嗯,没错,下次再忘了,就来这里看,不要用Google啦。

开发流程

1.创建dev分支

从主分支master创建dev分支并切换,那么我们就开始在dev分支上进行开发工作

# 这个可以
git checkout -b dev
# =>等价于
git branch dev #先创建
git checkout dev #再切换

# 这个也可以-switch切换-也更好理解
git switch -c dev

2.切换主分支

在dev上开发完成,addcommit等都执行完成,就切换回主分支master

git checkout master

#switch切换-也更好理解 建议使用
git switch master

3.合并分支

切换回主分支master,合并dev分支至当前分支master

#把dev分支的工作成果合并到master分支
git merge dev

4.删除分支

已然合并了分支dev,那么dev分支就可以丢弃了

git branch -d dev

5.推送

git push -u origin master

6.友情提示

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务, 合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name> git switch -c dev

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

其他命令

1.注册用户名 邮箱

git config --global user.email "email@example.com" 

git config --global user.email "287572291@qq.com"

2.初始化

git init

3.暂存区

git add readme.txt

4.暂存区至工作区

git commit -m "wrote a readme file"

#单解释一下git commit命令,
#-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,
#这样你就能从历史记录里方便地找到改动记录。

#嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。
#实在不想输入说明的童鞋请自行Google,我不告诉你这个参数。

#git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),
#插入了两行内容(readme.txt有两行内容)。

5.日志

git log

#如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数
git log --pretty=oneline

#log中有很长一段字符串,是一个SHA1计算出来的一个非常大的数字,用十六进制表示

6.回退

#我们要把当前版本“append GPL”回退到上一个版本“add distributed”,就可以使用git reset命令
git reset --hard HEAD^

HEAD is now at ea34578 add distributed

git reset --hard 3628164
HEAD is now at 3628164 append GPL

# 版本号没必要写全,前几位就可以了,Git会自动去找。
# 当然也不能只写前一两位,因为Git可能会找到多个版本号,
# 就无法确定是哪一个了。

7.查看使用过的命令

git reflog

8.状态

git status

9.删除文件

git rm test.txt
git commit -m "remove test.txt"

10.git与远程仓库建立联系

github为例

git remote add origin https://github.com/RandyField/learn-note-randy.git 
git remote add origin git@github.com:RandyField/learn-note-randy.git

11.推送远端

git push -u origin master

12.克隆代码

现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库

git clone git@github.com:michaelliao/gitskills.git

参考链接

https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000