|
@ -1,97 +0,0 @@ |
|
|
# git学习笔记 |
|
|
|
|
|
|
|
|
|
|
|
为区别linux系统命令,git所以命令前缀都是git xxx |
|
|
|
|
|
|
|
|
|
|
|
1、初始化设置账号密码邮箱 |
|
|
|
|
|
|
|
|
|
|
|
git config --global user.name "yanjiaqing" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2、git的四个区域 |
|
|
|
|
|
|
|
|
|
|
|
①工作区(WorkingDirectory):电脑里能看见的目录 |
|
|
|
|
|
|
|
|
|
|
|
②暂存区(Stage/Index):一般放在.git目录下的index文件,又称索引 |
|
|
|
|
|
|
|
|
|
|
|
③本地仓库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库 |
|
|
|
|
|
|
|
|
|
|
|
④远程仓库(Remote):托管在远程服务器上的仓库 |
|
|
|
|
|
|
|
|
|
|
|
3、git三种状态 |
|
|
|
|
|
|
|
|
|
|
|
①已修改(Modified):修改了文件,但没保存到暂存区 |
|
|
|
|
|
|
|
|
|
|
|
②已暂存(Staged):把修改后的文件放到暂存区 |
|
|
|
|
|
|
|
|
|
|
|
③已提交(Committed):把暂存区的文件提交到本地仓库 |
|
|
|
|
|
|
|
|
|
|
|
4、基本概念 |
|
|
|
|
|
|
|
|
|
|
|
main:默认主分支 |
|
|
|
|
|
|
|
|
|
|
|
origin:默认远程仓库 |
|
|
|
|
|
|
|
|
|
|
|
HEAD:指向当前分支的指针 |
|
|
|
|
|
|
|
|
|
|
|
HEAD^:上一个版本 |
|
|
|
|
|
|
|
|
|
|
|
HEAD~4:上4个版本 |
|
|
|
|
|
|
|
|
|
|
|
5、特殊文件 |
|
|
|
|
|
|
|
|
|
|
|
.git:Git仓库的元数据和对象数据库 |
|
|
|
|
|
|
|
|
|
|
|
.gitignore:忽略文件,不需要提交到仓库的文件 |
|
|
|
|
|
|
|
|
|
|
|
.gitattributes:指定文件的属性,比如换行符 |
|
|
|
|
|
|
|
|
|
|
|
.gitkeep:使空目录被提交到仓库 |
|
|
|
|
|
|
|
|
|
|
|
.gitmodutes:记录子模块的信息 |
|
|
|
|
|
|
|
|
|
|
|
.gitconfig:记录仓库的配置信息 |
|
|
|
|
|
|
|
|
|
|
|
6、基本命令 |
|
|
|
|
|
|
|
|
|
|
|
git init 创建本地仓库 |
|
|
|
|
|
|
|
|
|
|
|
git clone http://repo.xxcg.com/gitea-open/shixi.git 克隆远程仓库 |
|
|
|
|
|
|
|
|
|
|
|
http://repo.xxcg.com/gitea-open/ShixiServer.git |
|
|
|
|
|
|
|
|
|
|
|
git add 将文件添加到暂存区 |
|
|
|
|
|
|
|
|
|
|
|
git commit -m “message” 将暂存区的修改内容提交到仓库中,并附带一条提交信息 |
|
|
|
|
|
|
|
|
|
|
|
git status 显示当前工作目录和暂存区的状态,包括哪些文件被修改了、哪些文件还未暂存等 |
|
|
|
|
|
|
|
|
|
|
|
git diff:比较文件在不同版本之间的差异,也可以用来比较工作区与暂存区、暂存区与HEAD之间的差异 |
|
|
|
|
|
|
|
|
|
|
|
git reset:用于取消暂存区的修改或回退到某个版本 git reset --hard HEAD^会回退到上一个版本 |
|
|
|
|
|
|
|
|
|
|
|
git rm <file>:从仓库中删除文件,同时也会从工作区中删除该文件 git rm --cached工作区不删除 |
|
|
|
|
|
|
|
|
|
|
|
git branch:列出所有本地分支 使用git branch <branchname> 可以创建新分支 |
|
|
|
|
|
|
|
|
|
|
|
git checkout <branchname>:切换到指定分支 2.23版本以上的git有git switch命令来切换分支 |
|
|
|
|
|
|
|
|
|
|
|
git merge <branchname>:将指定分支的更改合并到当前分支上 |
|
|
|
|
|
|
|
|
|
|
|
git branch -d <branchname>:删除已合并的分支 git branch -D强制删除分支 |
|
|
|
|
|
|
|
|
|
|
|
git remote add <origin> <repository-url>:添加远程仓库的地址 |
|
|
|
|
|
|
|
|
|
|
|
git fetch <remote>:从远程仓库获取最新版本的信息,但不会自动合并到当前分支 |
|
|
|
|
|
|
|
|
|
|
|
git pull <remote> <branch>:从远程仓库获取最新版本的信息并自动合并到当前分支 |
|
|
|
|
|
|
|
|
|
|
|
git push <remote> <branch>:将本地分支的更新推送到远程仓库 |
|
|
|
|
|
|
|
|
|
|
|
git stash:临时保存工作进度,以便切换到其他分支进行工作 |
|
|
|
|
|
|
|
|
|
|
|
git revert <commit>:撤销某个提交的更改,并创建一个新的提交来记录这个撤销操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|