Git学习笔记二
笔记整理自廖雪峰老师Git教程
创建本地版本库
1、 创建版本库
2、 把文件添加到仓库(从工作区到暂存区)
3、 把文件提交到仓库(从暂存区到当前分支)
添加到远程库
4、 添加一个远程库:生成 http://xxx.git
5、 要查看远程库的信息,用git remote
,或者,用git remote -v
显示更详细的信息
6、 关联已有的本地仓库
7、 把本地库的所有内容推送到远程库上,把当前分支master推送到远程
从远程库拉取项目
8、 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆
熟练使用以上步骤就可以愉快的使用git了,但是想要更进一步,还需要往下看:
工作区和暂存区
工作区
就是你本地的项目文件夹,版本库
是工作区里的.git文件。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区
,还有Git为我们自动创建的第一个分支master
,以及指向master的一个指针叫HEAD
。
我们使用git提交可以看为三步:
第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支;
第三步是用git push
把本地分支中的修改提交到远程库
其他操作
9、HEAD指向的版本就是当前版本, Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
10、穿梭前,用git log
可以查看提交历史,以便确定要回退到哪个版本, 用git log --graph
命令可以看到分支合并图
11、要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本
12、git status
查看版本库状态
13、用git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别
14、git checkout -- file
可以丢弃工作区的修改(用版本库里的版本替换工作区的版本)
15、用命令git reset HEAD <file>
可以把暂存区的修改撤销掉,重新放回工作区
16、命令git rm
用于删除一个文件
17、查看分支:git branch
18、创建分支:git branch <name>
19、切换分支:git checkout <name>
20、创建+切换分支:git checkout -b <name>
21、合并某分支到当前分支:git merge <name>
22、删除分支:git branch -d <name>
23、如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除
xx、将某分支上的某一次提交合并到该分支上:git cherry-pick <name>
24、Git还提供了一个git stash
功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
25、用git stash list
命令查看保存的工作区
26、用git stash apply
恢复工作现场,但是恢复后,stash内容并不删除
27、用git stash drop
来删除stash内容
28、用git stash pop
,恢复的同时把stash内容也删了
29、本地新建的分支如果不推送到远程,对其他人就是不可见的,
30、从本地推送分支,使用git push origin branch-name
,如果推送失败,先用git pull抓取远程的新提交
31、在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致
32、建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
33、从远程抓取分支,使用git pull
,如果有冲突,要先处理冲突
34、git rebase
操作可以把本地未push的分叉提交历史整理成直线;
35、git rebase
的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比
36、命令git tag <tagname>
用于新建一个标签,默认为HEAD,也可以指定一个commit id
37、命令git tag -a <tagname> -m "blablabla..."
可以指定标签信息
38、命令git tag
可以查看所有标签,标签不是按时间顺序列出,而是按字母排序的
39、可以用git show <tagname>
查看标签信息,可以看到说明文字
40、命令git push origin <tagname>
可以推送一个本地标签;
41、命令git push origin --tags
可以推送全部未推送过的本地标签;
42、命令git tag -d <tagname>
可以删除一个本地标签;
43、命令git push origin :refs/tags/<tagname>
可以删除一个远程标签。
44、忽略某些文件时,需要编写.gitignore;
45、.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
46、被忽略的文件,可以用-f强制添加到Git
47、可以用git check-ignore
命令检查.gitignore哪个规则写错了
配置别名
48、配置别名:git config --global alias.st status
,--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
49、每个仓库的Git配置文件都放在.git/config文件中,可以手动修改配置,别名就在[alias]后面,要删除别名,直接把对应的行删掉即可,而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中
git命令总结
远程拉取版本库
创建新版本库
提交更新
__EOF__

本文链接:https://www.cnblogs.com/sugeek/articles/16565291.html
关于博主:编程菜鸟一只,希望每个今天胜过昨天,一步步走向技术的高峰!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具