Administrator
Administrator
Published on 2025-01-20 / 27 Visits
0
0

Git基础

https://git-scm.com/downloads下载、安装git

#配置自己的信息
git config --global user.name "姓名"
git config --global user.email "邮箱"
#创建目录、初始化
mkdir test-git #新建目录
cd test-git
git init #初始化仓库(本地)

经验

  • 每次实现一个小功能、新增一个函数之类,就做一次提交并注明附加信息

  • 每次做一个区块的业务、功能时,新建一个分支,在业务测试OK时合并到主分支,新建的分支就不用管了

  • 将大文件、日志、编绎结果、隐私类的文件都屏蔽掉

.gitignore

不跟踪某些文件、目录,文件放置在项目根目录中

branch(分支)

git branch #查看本地分支
git branch -a #查看所有(远程和本地)分支,分支前面带*号的就是目前的分支
git branch -r #只显示远程分支

git branch -m old-branch new-branch #将分支名称old-branch改名为new-branch

git branch test2 #创建分支,但不会切换到该分支
git branch -d test2 #删除一个分支

git checkout -b main #创建并切换到main分支,分动必须不存在
git checkout main #切换到已有分支,分支必须存在
git switch main #切换到已有分支,分支必须存在
git switch -c list #创建分支并切换到分支

add

添加修改到暂存区(Staging Area)

git add app.js #添加一个文件

git add . #跟踪新增、修改的文件(不含删除文件)
git add -u #跟踪已修改、已删除的文件(不含新文件)
git add -A #相当于git add .加上git add -u

#强制将被.gitignore中忽略的文件或目录添加到暂存,-f = -force
git add -f logs/
git add -f logs/error.log

git add . --dry-run #尝试运行添加暂存区的操作,显示会有哪些文件被影响,但不会实际执行添加操作

commit

将暂存区的更改提交到(本地)git仓库

git commit -m "附加信息"

merge(合并)

对分支进行合并

git switch main #切换到主分支
git merge feature #将feature合并到主分支,合并如果没有冲突,则会完成提交到本地的操作(不需要add和commit)。如果有冲突,需要手动编辑冲突的文件,然后执行add和commit操作

远程仓库

git remote add origin https://github.com/username/repo_name.git #连接远程仓库

git push -f origin main #如果Main分支受保护,-f会强制推送
git push -u origin main #把本地仓库推送到远程仓库,main是分支,如果之前没有登录,会要求登录github,(以前是在命令行中输入账号和密码)现在的git会弹出一个界面,点击后跳转浏览器在网页中完成授权。

git remote -v #查看当前远程仓库
git remote set-url origin https://.... #更换远程仓库

清除已登录的账号

Windows中搜索“凭据管理器”,点"Windows凭据",找到对应网站后删除,再次push时就会要求重新登录

拉取&克隆

git clone https://github.com/user/repo.git
git pull #如果仓库有更新,通过pull将最新的项目拉取过来

回滚

git reset --soft HEAD~1 #将上一次的commit取消,但是不会动文件
git reset --mixed <commit-id> #将某一次commit之后的所有提交都放弃,但是不动文件

git reset --hard <commit-id> #将文件恢复到某一次commit,之后的commit移除(会影响文件)


Comment