git 工作区域

  1. Workspace(工作区): 平时存放项目代码.
  2. Index/Stage(暂存区): 用于临时存放你的改动,事实上只是一个文件, 保存即将提交到文件列表信息.
  3. Repository(仓库区或者本地仓库):
  4. Remote(远程仓库): 托管代码的服务器.

git三种状态

  1. 已修改(modified)
  2. 已暂存(staged)
  3. 已提交(committed)

git文件状态

  1. Untracked
  2. Modified
  3. Staged
  4. Unmodified

git代码上传

创建新的 git 仓库

git init

将当前目录下的所有文件和子目录中的变更添加到 Git 的暂存区

git add .

将暂存区中的修改提交到本地 Git 仓库,并且添加一条提交信息以便于日后查看

git commit -m "first commit"

创建一个名为 main 的新分支,并从你所在的当前分支切换到它

git checkout -b main

将名为 “origin” 的远程仓库与你的本地仓库关联起来

git remote add origin git@github.com:Yhj123/xue.git
+ 点击展开
  • 执行此命令后, 在 ./git/config 文件中会有一条相关的记录.
  • remote: 任何远程存储库.
  • add: 表示将一个新的远程仓库添加到本地仓库中
  • origin: 远程仓库 https://xxx.git 的名称
  • git@github.com:Yhj123/xue.git: 远程仓库地址.

初次建立仓库推送到远程

git push --set-upstream origin master

将本地的 master 分支推送到远程仓库 origin 的 develop 分支

git push origin master:develop
git push <remote> <local_branch>:<remote_branch_name>

将本地 develop 分支推送到远程 origin 仓库的 develop 分支,并建立本地分支和远程分支的关联

git push -u origin develop

git 克隆代码

把最近的一次 commit 给 clone 下来

git clone --depth=1 https://github.com/jaywcjlove/linux-command.git

只会把默认分支clone下来, 其他远程分支并不在本地.

克隆远程仓库的指定分支 dev_jk

git clone -b dev_jk http://10.1.1.11/service/tmall-service.git

git 拉取代码

  1. 从默认的远程仓库(通常是 origin)和当前分支拉取最新代码,并自动合并到本地分支中
  2. git pull 实际是 git git fetchgit merge 的结合. 即先获取远程更新(fetch),再把它们合并进当前分支(merge).
# origin: 默认的远程仓库名
# main: 远程分支名
git pull origin main

git 查看 origin 信息

git remote show origin

git 删除 origin

git remote rm origin

git 修改代码提交

git add .
git commit -m "注释"
git push origin master

取消文件追踪

git rm --cached 文件名

[1] .gitignore 只对未跟踪的文件起作用.如果文件已被版本库控制,再在 .gitignore 添加忽略文件会不起作用.

[2] 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次提交中有它们的记录。未跟踪文件就是指那些从没提交过的文件.

git 删除所有未追踪的文件和文件夹

git clean -fd