Git工具的常用指令

1 克隆仓库

在项目开发中,需要将一个已有的项目克隆到本地:

git clone ssh://git@szv-y.github.com:0930/

2 提交到远程仓库

  • 显示Git仓库中所有远程仓库(remote)的详细信息,包括它们的名称和对应的URL,有助于查看和管理Git仓库和远程仓库之间的联系
    git remote -v
  • 检查当前分支状态,确保了解有哪些修改和未提交修改
    git status
  • 添加更改到暂存区
    git add path/path/path/file_X #添加单个文件
    git add path/path/path/file_Z path/path/path/file_5 #添加多个文件
    git add . #添加当前目录及其子目录所有文件的更改
    git add -u #将所有已追踪文件的更改添加到暂存区
    git add -A #将所有更改(包括新文件、已修改文件和已删除文件)添加到暂存区,相当于同时执行 git add . 和 git add -u
  • 提交更改到版本库中
    git commit -m "简要描述更改"
  • 在推送本地更改之前。最好从远程仓库拉取最新的更改,避免冲突
    git pull origin your-branch #origin:远程仓库的名称
  • 解决冲突(如有)
    git add path/path/conflicted/file_2
    git commit -m "解决冲突"
  • 推送更改到远程仓库
    git push origin HEAD:your-branch

3 Git分支管理

Git的分支管理可以让项目开发人员进行并行工作,不会影响主代码库,下面是几个常用命令:

  1. 创建分支
    git checkout -b <yourbranchname>
  2. 切换并查看当前分支
    git checkout (yourbranch) #切换分支命令
    git branch #查看当前分支
  3. 删除分支
    git branch -d <branchname>
    git push origin --delete <branchname>

4 查看提交历史

  • 在克隆完整个项目之后,可以使用git log命令查看提交历史。当需要查看相关路径的提交历史,可以使用:
    git --no-pager log --oneline path/path/path_0 #git --no-pager <subcommand>表示不分页直接输出
  • 当需要应用某一个特定的提交时,可以使用patch的方式:
    git format-patch -1 <commitID>
  • 可以使用git reset命令重置当前分支到特定提交
    git reset --soft <commit>   #只重置HEAD到指定的提交,暂存区和工作目录保持不变  
    git reset --mixed <commit>   #重置HEAD到指定的提交,暂存区重置,但工作目录保持不变
    git reset --hard <commit>    #重置HEAD到指定的提交,暂存区和工作目录都重置
  • 可以使用 git revert来撤销某次提交
    git revert <commit>

5 拣选提交

一般情况下使用git cherry-pick 命令允许你选择特定的提交并将其应用到当前分支。它在需要从一个分支移植特定更改到另一个分支时非常有用。

git cherry-pick <commit>
git cherry-pick origin/branch

为什么不用git checkout <commit>命令呢?

可以使用 git checkout <commit> 命令来切换到一个特定的提交,但是请注意,这样做会将你的工作目录置于一个“分离头指针”(detached HEAD)状态。这意味着你不会在任何分支上,而是直接在那个特定的提交上进行操作。

6 设置上游

git branch --set-upstream-to=<remote-branch> 是一个 Git 命令,用于设置当前分支的上游分支(upstream branch)。这意味着当前分支将跟踪远程仓库中的 origin/dev 分支,使得拉取(pull)和推送(push)操作更为简便。

git branch --set-upstream-to=<remote-branch>

7 定位问题

git bisect是一个很有用的命令,用来查找哪一次代码提交引入了错误。

  • 首先检查一下代码提交历史
    git log --pretty=oneline
  • 使用git bisect start命令启动查错
    git bisect start [终点] [起点]
  • 执行上面命令以后,代码库就会切换到这段范围正当中的那一次提交(二分法查找),我们需要确定这一次提交有没有问题,然后进行标识
    git bisect good #本次提交没有问题
    git bisect bad #本次提交未通过
  •  接下来,不断重复这个过程,直到成功找到出问题的那一次提交为止,这时。Git会给出如下提示:
    <commit id> is the first bad commit
  • 然后使用如下命令退出查错
    git bisect reset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值