Github常用命令【转】

本文详细介绍了Git本地仓库的创建、文件操作、分支管理及如何与远程仓库同步更新的完整流程。涵盖了初始化仓库、文件添加、删除、移动、提交、推送、合并分支等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地仓库(local repository)

创建一个本地仓库的流程:

  1. 为本地仓库创建一个目录
  2. 在目录中执行 git init

对本地仓库所做的改变(例如添加、删除文件等)首先加入到本地仓库的 Index(stage)中,之后通过 commit 命令将这些改变提交到本地仓库。

创建某个仓库的拷贝
  1. git clone /path/to/repository

这里的 /path/to/repository 可以是一个本地路径,也可以是一个 URL。范例:

  1. git clone https://github.com/name5566/merry.git
针对本地仓库的常见操作
  1. 文件添加操作
    1. 将文件加入到 Index 中去(文件被修改也需要加入到 Index 后才能提交)
    2. git add filename
    3. 将所有新增的文件加入到 Index 中去
    4. git add *
  2. 文件(或目录)的移动(或重命名)操作
    1. git mv file1 file2
  3. 文件的删除操作
    1. 将文件从当前目录和 Index 中移除
    2. git rm filename
  4. 提交改变到本地仓库
    1. 提交改变到本地仓库
    2. git commit -m "message"
    3. 根据当前文件被修改和删除的情况更新 Index 并提交这些改变到本地仓库(未告知 git 的新文件除外)
    4. git commit -a -m "message"
  5. 显示当前尚未提交的改变
    1. git status
将本地仓库的改变推送到远程仓库

我们使用 commit 命令将改变提交到本地仓库,之后可以将这些改变推送到远程仓库中:

  1. 这里 master 表示分支,你可以根据实际需要推送的分支来进行修改
  2. git push origin master
分支
  1. 分支间相互切换
    1. git checkout master
    2. git checkout feature_x
  2. 创建新分支并切换过去
    1. git checkout -b feature_x
  3. 删除特定分支
    1. git branch -d feature_x
  4. 删除远程子分支

      1. git push origin -d feature_x

  5. 合并分支
    1. git merge feature_x

分支创建之后,可以推送到远程仓库:

  1. git push origin feature_x
更新本地仓库
  1. git pull
日志
  1. 显示日志
  2. git log
  3. 显示 bob 的日志
  4. git log --author=bob
替换本地修改

有时候,我们希望还原所做的修改:

  1. 放弃当前对 filename 文件的修改,获取本地仓库中最后一次提交的结果
  2. git checkout -- filename
  3. 放弃本地所有改变和提交,直接从远程仓库获取
  4. git fetch origin
  5. git reset --hard origin/master
从github上clone子分支

正常情况下,我们在github上看到一个clone地址,git clone xxxxxxx.git后,默认clone进入的是master分支,如果想切换到某一个子分支,可以使用

git checkout -b child_repos origin/child_repos

其中,child_repos指的是目标子分支名,

这时,使用git branch可以看到自己已经在子分支上,正常

git pull origin child_repos

git push origin child_repos

即可。

 

Git 怎样保证fork出来的project和原project(上游项目)同步更新

步骤:

1.  在 Fork 的代码库中添加上游代码库的 remote 源,该操作只需操作一次即可。

如: 其中# upstream 表示上游代码库名, 可以任意。

git remote add upstream https://github.scm.corp.ebay.com/montage/frontend-ui-workspace

2. 将本地的修改提交 commit

3. 在每次 Pull Request 前做如下操作,即可实现和上游版本库的同步。

      3.1 : git remote update upstream

      3.2 : git rebase upstream/{branch name}

需要注意的是在操作3.2之前,一定要将checkout到{branch name}所指定的branch,

如: git checkout develop

4. Push 代码到 Github

git push

 

如果项目中有引用其他项目作为子项目 clone时使用

`git clone` 的时候加上 `--recursive`

可以clone整个项目,包含子项目

转载于:https://www.cnblogs.com/ruofengzhishang/p/3842827.html

<think>嗯,用户需要GitHub常用命令的汇总列表。从引用内容来看,用户可能已经接触过一些零散的Git命令说明,但需要系统化的整理。用户身份可能是开发者或版本控制初学者,核心诉求是快速掌握日常协作所需的GitHub相关命令。 注意到引用[2]提到"命令行管理代码是必备技能",引用[3]强调配置信息的重要性,这些都需要在汇总中突出。用户没有说明使用场景,但引用[4]涉及子模块操作,暗示可能有复杂项目需求,因此汇总时要包含进阶命令。 准备将命令分为基础配置、代码操作、分支管理、远程协作、子模块五类。引用[1][3]都强调git config初始配置,这必须放在首位。引用[4]提到的submodule命令容易被忽略,要单独列出。对于常见错误,引用[3]提到配置错误,引用[4]涉及子模块同步问题,考虑在注意事项中补充。 用户可能混淆GitGitHub命令的区别,需要在开篇明确说明:Git是本地版本控制工具,GitHub是基于Git的远程托管平台。汇总命令时,git开头的属于Git原生命令,gh开头的才是GitHub CLI扩展命令。 最后考虑设计相关问题:引用[4]提到子模块更新问题,可延伸出子模块专题;引用[2]提到可视化工具故障时的命令行替代方案,适合作为问题;用户搜索"汇总"说明需要速查材料,电子书推荐会很有用。</think>以下是GitGitHub常用命令的系统汇总,结合开发实践和官方文档整理: ### 一、基础配置 1. **身份设置**(首次使用必配) ```bash git config --global user.name "YourName" # 设置全局用户名 git config --global user.email "[email protected]" # 设置全局邮箱[^3] ``` 2. **查看配置** ```bash git config --list # 显示所有配置项 ``` ### 二、仓库操作 | 命令 | 作用 | |------|------| | `git init` | 初始化本地仓库 | | `git clone https://github.com/user/repo.git` | 克隆远程仓库[^1] | | `git status` | 查看文件状态 | ### 三、代码提交 ```bash git add . # 添加所有修改到暂存区 git commit -m "提交说明" # 提交到本地仓库 git push origin main # 推送到远程main分支[^2] ``` ### 四、分支管理 ```bash git branch # 查看本地分支 git checkout -b new-feature # 创建并切换分支 git merge hotfix # 合并hotfix分支到当前分支 git push --set-upstream origin new-feature # 推送新分支到远程 ``` ### 五、协同开发 ```bash git pull origin main # 拉取远程最新代码(等效于fetch + merge) git fetch --all # 获取所有远程更新但不合并 git reset --hard origin/main # 放弃本地修改,强制同步远程 ``` ### 六、子模块操作(适用于复杂项目) ```bash git submodule add https://github.com/lib/library.git # 添加子模块 git submodule update --init --recursive # 初始化并更新子模块[^4] ``` ### 七、GitHub专属命令(需安装GitHub CLI) ```bash gh repo create # 创建新仓库 gh pr create # 创建Pull Request gh issue list # 查看issue列表 ``` > ⚠️ **注意事项** > 1. 首次克隆需权限验证:推荐配置[SSH密钥](https://docs.github.com/zh/authentication) > 2. 冲突解决:使用 `git diff` 查看冲突,手动修改后重新提交 > 3. 误操作恢复:`git reflog` 查看操作历史,`git reset --hard commit_id` 回退版本[^2] --- ### 常见问题场景 1. **推送被拒绝** ```bash # 强制推送(谨慎使用!) git push -f origin main ``` 2. **撤销本地修改** ```bash git checkout -- file.txt # 放弃单个文件修改 git reset --hard HEAD # 放弃所有未提交修改 ``` [^1]: GitHub 官方文档 - 克隆仓库 [^2]: Git 权威指南(第2版) [^3]: GitHub 账户配置要求 [^4]: 子模块管理最佳实践
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值