git和GitHub-命令

image

1- 基本概念

1- 仓库(Repository)

  • 定义:存储项目代码和历史记录的地方。每个仓库包含项目的所有文件和每个文件的修订历史。
  • 命令
    git init  # 初始化一个新的 Git 仓库
    git clone https://github.com/user/repo.git  # 克隆远程仓库到本地
    

2- 分支(Branch)

  • 定义:代码库的平行版本,允许你在不影响主分支的情况下进行开发。常见的分支有 main(或 master)、dev(开发分支)等。
  • 命令
    git branch  # 列出所有本地分支
    git branch new-branch  # 创建新分支
    git checkout main  # 切换到指定分支
    git checkout -b new-branch  # 创建并切换到新分支
    git branch -d old-branch  # 删除分支
    

3- 提交(Commit)

  • 定义:对代码库的某次更改,包含更改的描述信息。每次提交都有一个唯一的 SHA-1 哈希值。
  • 命令
    git add filename  # 将文件添加到暂存区
    git add .  # 将当前目录的所有文件添加到暂存区
    git commit -m "Initial commit"  # 提交暂存区的更改,并附加提交信息
    

4- 克隆(Clone)

  • 定义:从远程仓库复制代码到本地,创建一个完整的仓库副本。
  • 命令
    git clone https://github.com/user/repo.git  # 克隆远程仓库到本地
    

5- 派生(Fork)

  • 定义:从他人的仓库创建一个副本到自己的账户,用于独立开发。Fork 后的仓库与原仓库相互独立。
  • 操作:在 GitHub 网站上点击 Fork 按钮。

6- 拉取请求(Pull Request)

  • 定义:请求将你的更改合并到主分支或其他分支。通常用于代码审查和协作开发。
  • 操作:在 GitHub 网站上创建 Pull Request。

7- 合并(Merge)

  • 定义:将一个分支的更改合并到另一个分支。合并操作可能会引发冲突,需要手动解决。
  • 命令
    git merge feature-branch  # 合并指定分支到当前分支
    

8- 远程(Remote)

  • 定义:指向远程仓库的链接。常见的远程名称是 origin
  • 命令
    git remote -v  # 显示所有远程仓库
    git remote add origin https://github.com/user/repo.git  # 添加远程仓库
    git remote remove origin  # 删除远程仓库
    

9- HEAD

  • 定义:当前所在的分支或提交的指针。HEAD 通常指向当前检出的分支。

2- 操作命令

1- 初始化和克隆

  • git init:初始化一个新的 Git 仓库。
    git init
    
  • git clone [url]:克隆远程仓库到本地。
    git clone https://github.com/user/repo.git
    

2- 配置

  • git config --global user.name “[name]”:设置全局用户名。
    git config --global user.name "Your Name"
    
  • git config --global user.email “[email address]”:设置全局用户邮箱。
    git config --global user.email "[email protected]"
    

3- 添加和提交

  • git add [file]:将文件添加到暂存区。
    git add filename
    
  • git add .:将当前目录的所有文件添加到暂存区。
    git add .
    
  • git commit -m “message”:提交暂存区的更改,并附加提交信息。
    git commit -m "Initial commit"
    

4- 推送和拉取

  • git push [remote] [branch]:将本地提交推送到远程仓库。
    git push origin main
    
  • git pull [remote] [branch]:从远程仓库拉取并合并更改到本地。
    git pull origin main
    
  • git fetch [remote]:从远程仓库获取更新,但不合并。
    git fetch origin
    

5- 分支操作

  • git branch:列出所有本地分支。
    git branch
    
  • git branch [branch-name]:创建新分支。
    git branch new-branch
    
  • git checkout [branch-name]:切换到指定分支。
    git checkout main
    
  • git checkout -b [branch-name]:创建并切换到新分支。
    git checkout -b new-branch
    
  • git merge [branch]:合并指定分支到当前分支。
    git merge feature-branch
    
  • git branch -d [branch-name]:删除分支。
    git branch -d old-branch
    

6- 状态和日志

  • git status:查看工作目录和暂存区的状态。
    git status
    
  • git log:查看提交历史。
    git log
    
  • git diff:显示两个提交之间的差异。
    git diff
    

7- 标签

  • git tag [tag-name]:创建标签。
    git tag v1.0.0
    
  • git push [remote] [tag-name]:推送标签到远程仓库。
    git push origin v1.0.0
    

8- 储藏

  • git stash:临时保存当前工作进度,以便切换到其他分支。
    git stash
    
  • git stash pop:恢复储藏的更改。
    git stash pop
    

9- 远程仓库

  • git remote -v:显示所有远程仓库。
    git remote -v
    
  • git remote add [name] [url]:添加远程仓库。
    git remote add origin https://github.com/user/repo.git
    
  • git remote remove [name]:删除远程仓库。
    git remote remove origin
    

10- 其他常用术语

  • Issue(问题):用于跟踪任务、增强功能请求和报告错误。每个 Issue 都有唯一的编号。
  • Rebase(变基):将一个分支的更改应用到另一个分支的基础上,重新排列提交历史。
    git rebase main
    
  • Conflict(冲突):当两个分支的更改互相冲突时,需要手动解决。

这些术语和命令是使用 Git 和 GitHub 进行项目管理时最常用的。掌握这些基本概念和操作,可以帮助你更高效地进行版本控制和协作开发。