展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

git常用命令

  • 进入本地仓库根路径,在.git所在目录打开git bash

  • 查看该仓库的用户名和密码,如果没有,需设置

git config user.name
git config user.email

git config user.email "xxxx@xx.com"
git config user.name "xxxx"
  • 查看关联的远程仓库
# 查看已关联的远程库信息
git remote -v   
# 查看关联远程仓库时设置的名称
git remote   
# 删除原有的名称
git remote rm origin
# 重新关联,并指定新的名称
git remote add github git@github.com:用户名/仓库名.git
# 推送代码时使用新的名称
git push github main
  • https的方式关联远程仓库
git remote add origin https://gitee.com/个人空间地址/仓库名.git
  • 克隆仓库到本地
git clone git@github.com:用户名/仓库名.git
  • 推送流程
# 添加到暂存区
//单个文件
git add 文件名
//多个文件夹之间空格隔开
git add 文件夹1/ 文件夹2/   
//所有文件
git add .   

# 提交到本地仓库
git commit -m "备注"

# 第1次推送
git push -u origin main

# 推送
git push origin main
  • 分支管理
# 查看分支 
git branch
# 创建分支 
git branch <name>
# 切换分支 
git checkout <name> 
# 创建并切换到分支 
git checkout -b <name>  
# 合并分支
# 基于当前分支,合并另外一个分支,分支之间不冲突
git merge <name> 
# 例如当前在main分支,将dev分支合并到main分支
# 在合并分支前,dev分支需要先add和commit
git merge dev
# 如果强制禁用Fast forward模式,即普通模式,Git就会在merge时生成一个新的commit
git merge --no-ff -m "备注" <name>  

# 例如当前在新建的dev分支,将本地dev分支推送到远程
git push origin dev

# 例如当前在main分支,要删除dev分支
# 先删除本地dev分支
git branch -D dev
# 再删除远程dev分支
git push origin -d dev
  • 拉取项目
# 拉取最新代码到本地
git pull origin main

# 强制合并到本地
git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
# 例如强制将远程main合并到本地main
git pull --rebase origin main
# 例如强制将远程dev合并到本地main
git pull --rebase origin dev:main
  • 查看状态
# 例如当前在main分支,修改1.txt后,提交到暂存区,手动添加2.txt到本地仓库查看状态
git status
# 显示如下,表示1.txt还未提交到本地仓库,2.txt还没有添加到暂存区
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   1.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        2.txt

# 将所有内容提交后,再次修改1.txt,同时手动删除2.txt
# 再次查看状态
git status
# deleted:表示本地仓库中的有物理文件已被删除,modified:表示被修改过
On branch main
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   1.txt
        deleted:    2.txt

no changes added to commit (use "git add" and/or "git commit -a")
  • 版本管理
# 查看提交到版本库的文件和历史版本  
git log
# 提交到版本库的文件的id  
git log --pretty=oneline
# 显示当前及之前的版本号
git log --decorate --graph --oneline --all 
# 将版本历史显示为一行, 历史版本号部分显示
git log --pretty=oneline --abbrev-commit 
# 查看分支合并图
git log --graph 

# 工作空间 -> 暂存区 -> 版本库
# 工作空间的文件被修改后,查看状态会返回modified,如何恢复上一个版本:工作空间的文件先手动恢复,再丢弃工作空间的修改
git checkout -- file  

# 文件添加到暂存区后如何撤销: 
git reset HEAD file  
//丢弃工作空间
git checkout -- file  

# 回到上一个版本
git reset --hard HEAD^

# 回到最新版本,需指定id
git reset --hard 1094a

# 删除版本库中的文件
git rm <filename> 

# 从版本库中删除文件,但不删除文件
git rm <filename> --cached 

# 建议
rm <filename>
# 确认删除
git rm <filename> 
# 再提交
git commit -m 'delete a file'
# 若删错了用版本库里的版本替换工作区的版本
git checkout -- <filename> 
posted @ 2022-07-13 15:20  DogLeftover  阅读(30)  评论(0编辑  收藏  举报