前言
我只在刚学前端时了解过git的一些基础命令,只会一些commit/push/pull等,后来发现越来越不够用了,特别是在想和别合作完成一个项目时,特别害怕自己因为对git操作不熟悉而使项目难以进行。最近,我系统的学习了一些git的原理和命令,整理出来了一些命令给各位初学者一点指南,特别是在大家初学时对一些命令不熟悉可以拿来方便查阅。
常用命令
1、从远程仓库克隆代码
git clone 从仓库复制的地址
// 建议复制SSH, 使用HTTPS每次需要输入远程仓库账号密码,比较麻烦
2、查看提交日志
git log
3、查看工作目录当前状态
git status
4、增加文件到缓存区
git add 文件名
// 使用以下命令会将改动全部提交到缓存区
git add .
5、提交代码到本地仓库
git commit -m "此处填写修改的的信息"
6、将代码提交到远程仓库
git push
//注意:如果 push 的是远程仓库没有的分支,按照以下写法
git push origin 分支名称
7、从远程仓库拉取代码
git pull
8、在当前commit处新建一个分支
git branch 分支名称
9、切换分支
git checkout 分支名称
10、新建分支并自动切换
git checkout -b 分支名称
11、删除分支
git branch -d 名称说明: 1. 应当先切换到其他分支再删除此分支。 2. 出于安全考虑,没有被合并到 master 的分支在删除时会失败
12、合并分支
git merge 分支名称
13、放弃解决冲突,取消merge
git merge --abort
14、查看详细的改动历史
git log -p
15、查看简要的改动统计
git log --stat
16、 查看具体的commit
//查看当前的commit
git show
//查看具体一个commit
git show 引用
17、想看到执行git commit后,将会提交什么
git diff --staged
18、想看到把所有文件都 add 后,将会向缓存区中增加什么内容
git diff
19、想看到把所有文件都 add 然后 git commit后,将会提交什么
git diff HEAD
20、撤销上一次提交,并将暂存区文件重新提交(会将新的commit替换掉原有的commit)
// 把错误修改后,再执行以下命令
git add .
git commit --amend
21、撤回最新的commit
git reset --hard HEAD^注意:中间不同参数有不同的作用--hard:撤回最新的commit的同时,清空工作目录的所有改动;
--soft:撤回最新的commit的同时,保留工作目录和缓存区的内容。
--mixed(默认可以不写):撤回最新的commit的同时,保留工作目录的内容,并清空缓存区。
22、临时存放工作目录的改动
// 临时存放工作目录的改动
git stash
// 让没有被add过的文件也能临时存放
git stash -u
// 将临时文件移动回工作目录
git stash pop
写在最后的话
本来这段话是写在“前言”的,但我怕大家看到这大段废话而走开,所以移动到了最后。我是一名前端爱好者,从开始学习前端至今也有几个月的时间了。对于一名程序员来说,写博客的重要性不言而喻,不仅可以帮助自己整理归纳知识,还可以和他人分享学习、结交到朋友,甚至可以得到一些成就感。但是,我却迟迟不敢迈出这第一步,总是被太多想法束缚着,觉得写出来没有什么技术含量、没有意义会被别人嘲笑。今天,是我迈出的第一步,希望我能有一个好的开始,对于我的一些错误也欢迎大家纠正!