git 使用

1,063 阅读4分钟

git 安装

git官网

git基于原有的分支创建一个新的分支

newbranch 你要创建的分支名字 oldbranch 原来分支的名字

  1. 切换到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工作流程图

image.png

命令如下:

  1. git clone (克隆):从远程仓库中克隆代码到本地仓库
  2. git checkout (检出):从本地仓库中检出一个仓库分支然后进行修改
  3. git add (添加):在提交前先将代码提交到暂存区
  4. git commit (提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
  5. git fetch (抓取):从远程仓库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
  6. git pull (拉取):从远程仓库拉取到本地仓库,自动进行合并(merge), 然后放到工作区,相当于fetch+merge
  7. git push (推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

常用命令

  • ls -la 查看当前目录包括隐藏的文件
  • cat 查看文件内容
  • touch 创建文件
  • vi vi编辑器(使用vi编辑器是为了方便展示效果,一般可以使用记事本等工具)

vi编辑器使用

  1. 如果不在编辑模式下,按i可以进入编辑模式,编辑模式

image.png

  1. 如果在编辑模式下,按下Esc键可以切换到命令模式.
  2. 输入保存退出命令

输入 :wq (表示写入文件并退出), 然后按下回车键

  1. 如果只是退出而不保存

输入 :q! 强制退出不保存修改

基本配置

  1. 打开 Git Bash
  2. 设置用户信息

git config --global user.name "yourname"

git config --global user.email "yourname@xxx.com"

  1. 查看用户信息

git config --global user.name

git config --global user.email

获取本地仓库

要使用Git对代码进行版本控制,首先需要获得本地仓库

  1. 在电脑的任意位置创建一个空目录(例如test) 作为本地git仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init
  4. 如果创建成功后可在文件夹下看到隐藏的.git目录

版本回退

    1. 命令形式:git reset --hard commitId (ommitId可以使用git log查看)
    1. 然后使用:git push --force-with-lease 强制推送远程
    1. 如何查看已经删除的记录? git reflog

删除文件

rm -rf 文件名 可以删除文件

设置忽略文件,并从远程仓库删除

将文件添加到 .gitignore

git rm --cached 文件路径 
git commit -m "Stop tracking" 
git push

设置忽略文件,远程不删除

  1. 方法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