Git 操作


  • Modified 已修改/未修改

  • staged 暂存

  • commited 提交

  • 工作区

  • 暂存区

  • 本地仓库

  • 远程仓库

git bash快捷键

  1. 复制–Shift+insert
  2. 粘贴–Ctrl+insert

创建仓库

1
git init

克隆仓库

1
git clone url

暂存区

  1. 添加
1
2
3
git add .				#添加全部
git add fileName #添加特定的文件
git add *.type #添加特定的类型文件
  1. 删除(未修改)
1
2
3
git rm --cache fileName		#从暂存区中删除
git rm --cache -f fileName #强制从暂存区中删除
git reset #返回到上一次的暂存状态+也可以撤销提交
  1. 删除(已修改)
1
2
git restore --staged fileName	 #将暂存区的修改重新放回工作区
git restore fileName #丢弃工作区的修改

提交至本地仓库

1
2
git commit -m "comment"			#将暂存区的文件存到本地仓库
git commit -a -m "comment" #将暂存和提交操作合并在一起

远程仓库

1
2
3
4
5
git remote add <remote_name> url	#绑定远程仓库
git remote -v #远程仓库信息
git remote remove <remote_name> #移除远程仓库
git remote remove <old_name> <new_name> #改名字
git push <remote_name> <branch_name> #推送

获取信息

  1. 文件状态
1
2
git status 		#获取文件的情况,修改/暂存/提交等信息
git status -s #获取简短信息x ??=未暂存 M 修改 A添加到暂存区 D删除的文件 U有冲突的文件
  1. 历史提交
1
git log
  1. git状态
1
2
3
4
git config			   #获取本仓库配置
git config --global #获取系统的配置
git config user.name #获取仓库所有人的名称
git config user.email #获取仓库所有人的邮箱

拉取

1
git pull		# 拉取+合并
  • 拉取

    1
    git fetch <remote_url>		#如果一开始绑定URL,就可以不加
  • 合并

    1
    2
    git merge <branch_name>		#如果你现在是在main分支,则就是把<branch_name>合并到main上
    git merge #如果已经设定URL,就是合并到现在所在branch上面
  • 变基

    1
    2
    git rebase <branch_name>  #如果你现在是在main分支,则就是把<branch_name>变基到main上
    git rebase #如果已经设定URL,就是变基到现在所在branch上面

合并和变基的区别

两者都可以实现代码的更新操作

合并:有两个人同时修改一个代码,最后实现两个改的东西都更新

1. 如果两个人改的部分不一样:直接合并
1. 如果两个人改的部分一样:需要手动合并部分,再实现git add . +git commit -m ...

变基:也有两个人同时修改一个代码,但是变基是A在B的基础上,以B为起点开始重新修改一个仓库

总的来说,用合并比较多

分支

1
2
3
4
git branch					#展示分支的具体信息
git branch fileName #增加一个分支
git checkout fileName #切换到一个分支
git branch -d fileName #删除分支

整体流程

工作区->暂存区->本地仓库->远程仓库