Git命令集合

42 阅读4分钟

Git命令集合

基础命令

初始化仓库

git init

初始化一个新的 Git 仓库。

克隆仓库

git clone <repository_url>

克隆一个远程仓库到本地。

查看状态

git status

查看工作目录和暂存区的状态。

添加文件到暂存区

git add <file_name>
git add .

添加指定文件或所有文件到暂存区。

提交更改

git commit -m "commit message"

提交暂存区的更改并附带提交信息。

分支操作

查看分支

git branch

列出所有本地分支并且查看当前分支。

创建新分支

git branch <branch_name>

创建一个新的本地分支。

切换分支

git checkout <branch_name>

切换到指定的分支。

创建并切换到新分支

git checkout -b <branch_name>

创建一个新的分支并切换到该分支。

删除分支

git branch -d <branch_name>

删除指定的本地分支。

合并和变基

合并分支

git merge <branch_name>

将指定分支合并到当前分支。

变基操作

git rebase <branch_name>

变基当前分支到指定分支的基础上。

远程操作

添加远程仓库

git remote add <remote_name> <remote_url>

添加一个新的远程仓库。

查看远程仓库

git remote -v

查看所有远程仓库及其 URL。

推送到远程仓库

git push <remote_name> <branch_name>

推送本地分支到远程仓库。

从远程仓库拉取

git pull <remote_name> <branch_name>

获取远程更新

git fetch <remote_name>

从远程仓库获取更新,但不合并到当前分支

暂存和恢复

暂存更改

git stash

将当前未提交的更改存入栈中。

查看暂存的更改

git stash list

查看所有暂存的更改。

应用暂存的更改

git stash apply

应用最近一次暂存的更改。

应用并移除暂存的更改

git stash pop

应用最近一次暂存的更改并从栈中移除

查看历史和差异

查看提交历史

git log

查看提交日志。

查看简洁的提交历史

git log --oneline

以单行显示每个提交的简洁历史。

查看文件的更改

git diff <file_name>

查看工作目录和暂存区之间的差异。

查看暂存区和最新提交之间的差异

git diff --cached

回滚和恢复

回滚到上一个提交

git revert HEAD

创建一个新的提交,用于撤销上一个提交的更改。

重置到指定提交

git reset --hard <commit_hash>

将当前分支重置到指定的提交,丢弃之后的所有更改。

实例

例1:

假设你在 one 分支上进行了开发,现在想将这些更改推送到远程的 two 分支:

1.确保更改已提交:

git add .
git commit -m "Your commit message"

2.直接推送 one 分支到远程 two 分支:

git push origin one:two

这条命令的意思是将本地的 one 分支推送到远程仓库的 two 分支。

例2:

如果远程仓库确实有 test-v0.1.0 分支,并且你想从远程分支拉取更新到本地分支,你需要指定远程仓库名称(通常是 origin)和远程分支名。可以使用以下命令:

git pull origin test-v0.1.0

这个命令会将远程分支 test-v0.1.0 的更改拉取到你当前的本地分支 hyl_dev。确保你当前在 hyl_dev 分支上:

git checkout hyl_dev
git pull origin test-v0.1.0

这样可以检查是否有冲突,并在必要时解决冲突后再推送到 test 分支。

如果 test-v0.1.0 不是默认远程仓库(通常是 origin),你需要替换 origin 为对应的远程仓库名称。

解决冲突

解决 Git 冲突的步骤可以分为以下几步:

  1. 查看冲突文件:

    git status
    

    这将列出有冲突的文件。

  2. 手动解决冲突: 打开每个冲突文件,查看冲突部分,这些部分会标记为:

    <<<<<<< HEAD
    # 你当前分支中的更改
    =======
    # 从远程分支拉取的更改
    >>>>>>> branch-name
    
  3. 编辑冲突文件: 根据需要手动编辑文件,保留需要的更改,删除冲突标记(<<<<<<<, =======, >>>>>>>)。

  4. 标记冲突已解决: 解决每个冲突后,标记文件为已解决并添加到暂存区:

    git add <file_name>
    
    例如:
    git add .env
    git add src/api/index.ts
    git add src/api/modules/user_list/interface.ts
    git add src/store/modules/user_list.ts
    git add src/views/user/list/index.vue
    git add yarn.lock
    
  5. 完成合并: 一旦所有冲突都解决并添加到暂存区,完成合并:

    git commit -m "Resolved merge conflicts and applied code formatting"
    
  6. 推送更改: 解决冲突并提交更改后,将更改推送到远程分支:

    git push origin hyl_dev
    
  7. 如果想推到远程仓库中的其他分支,或者默认分支的话就需要

    git push origin hyl_dev:test-v0.1.0
    

示例

假设你有一个冲突文件 example.txt,它看起来像这样:

<<<<<<< HEAD
这是当前分支的内容。
=======
这是远程分支的内容。
>>>>>>> test-v0.1.0

编辑文件以解决冲突,比如:

这是合并后的内容。

然后运行:

git add example.txt
git commit

使用图形化工具

如果你觉得手动解决冲突太麻烦,可以使用一些图形化工具来帮助你解决冲突,例如:

这些工具可以直观地展示冲突部分,并提供方便的界面来解决冲突。

如果你还有其他问题,随时问我。