git 安装
git基于原有的分支创建一个新的分支
newbranch 你要创建的分支名字 oldbranch 原来分支的名字
- 切换到newbranch分支,如果没有newbranch则会根据oldbranch创建newbranch, 然后在切换到newbranch
git checkout -b newbranch origin/oldbranch
2. 本地分支和远程分支建立联系
git push --set-upstream origin newbranch
3. 推送到远程分支
git push origin newbranch
git删除本地分支
git branch -D branchname
git删除远程分支
git push origin --delete branchname
git合并分支
git merge origin/main
git查看分支
git branch
/*
用于查看**本地**仓库中的所有分支。执行该命令会显示一个列表,其中包含当前所有的分支,并且当前所在的分支会用"*"表示
*/
git branch -a
/*
a = all,用于查看**本地**仓库和**远程**仓库中的所有分支。执行该命令会显示一个列表,其中包含本地所有的分支和远程所有的分支,并且当前所在的分支会用"*"表示
*/
git branch -r
/*
r = remote用于查看**远程**仓库中的所有分支。执行该命令会显示一个列表,其中包含远程所有的分支
*/
git查看日志
git log --author=authorName
/**
git 查看当前作者的所有提交记录
*/
git查看本地仓库和远程仓库的对应关系
git branch -vv
git撤回已经push到远程的提交
git log 查看commit_id
git revert [commit_id]
/**
此时会出现一个vi界面, 输入:q! 按回车. 如果不能输入则先按 Esc 在输入
*/
git push
git工作流程图
命令如下:
- git clone (克隆):从远程仓库中克隆代码到本地仓库
- git checkout (检出):从本地仓库中检出一个仓库分支然后进行修改
- git add (添加):在提交前先将代码提交到暂存区
- git commit (提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
- git fetch (抓取):从远程仓库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
- git pull (拉取):从远程仓库拉取到本地仓库,自动进行合并(merge), 然后放到工作区,相当于fetch+merge
- git push (推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
常用命令
- ls -la 查看当前目录包括隐藏的文件
- cat 查看文件内容
- touch 创建文件
- vi vi编辑器(使用vi编辑器是为了方便展示效果,一般可以使用记事本等工具)
vi编辑器使用
- 如果不在编辑模式下,按i可以进入编辑模式,编辑模式
- 如果在编辑模式下,按下Esc键可以切换到命令模式.
- 输入保存退出命令
输入 :wq (表示写入文件并退出), 然后按下回车键
- 如果只是退出而不保存
输入 :q! 强制退出不保存修改
基本配置
- 打开 Git Bash
- 设置用户信息
git config --global user.name "yourname"
git config --global user.email "yourname@xxx.com"
- 查看用户信息
git config --global user.name
git config --global user.email
获取本地仓库
要使用Git对代码进行版本控制,首先需要获得本地仓库
- 在电脑的任意位置创建一个空目录(例如test) 作为本地git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行命令git init
- 如果创建成功后可在文件夹下看到隐藏的.git目录
版本回退
-
- 命令形式:git reset --hard commitId (ommitId可以使用git log查看)
-
- 然后使用:git push --force-with-lease 强制推送远程
-
- 如何查看已经删除的记录? git reflog
删除文件
rm -rf 文件名 可以删除文件
设置忽略文件,并从远程仓库删除
将文件添加到 .gitignore
git rm --cached 文件路径
git commit -m "Stop tracking"
git push
设置忽略文件,远程不删除
- 方法1:使用 assume-unchanged(轻量级标记,可能被 Git 重置)
git update-index --assume-unchanged .env.development
2. 方法2:使用 skip-worktree(更持久的标记,适合持续忽略)
git update-index --skip-worktree .env.development
3. 验证是否成功忽略
git status # 应该不再显示 .env.development 的变化
切换到指定分支查看代码
git log 查看 commitId
git checkout [commitId]
将修改保存到stash中去,方便get pull 操作
git stash save "备注信息" # 例如:git stash save "修复首页样式的临时修改"
git stash list #"列出所有 stash 记录"
git stash apply stash@{n} #若要恢复某个 stash 到本地(同时保留 stash 记录)(`n` 是 stash 编号,如 `stash@{0}`)
git stash pop stash@{n} #若要恢复后删除该 stash 记录(推荐,避免 stash 堆积)
git stash clear #清空 stash