git bash:如何检查是否有新的提交可用

Hen*_*son 9 git bash

我和我的朋友一起使用git来合作一个项目.他在github中创建了一个包含我们每个名字的文件夹的repo,所以每当我更新一些东西时,我都会将它上传到这个文件夹,然后将其推送到github,他也是如此.因此,每次有新的提交时,我们必须从github中提取并将编辑后的文件复制粘贴到我们自己的localhost(wamp).

那么我想问的是:

  1. 如何在不检查github的情况下检查是否有来自git bash的新提交?Git pull将拉出我所知道的最新版本,但如果我只是想先检查一下呢?

  2. 假设我的git文件夹位于D:// git/project_name中.我可以将此文件夹复制到其他位置(例如USB闪存盘),然后从此USB执行git pull吗?

  3. 如果我们的方法无效,您对如何使用git有任何建议吗?我们正在使用CodeIgniter框架,所以起初我建议只是git推送整个CodeIgniter文件夹,但我的朋友说这很危险(因为整个配置和数据库都存在)并且没有必要(因为主系统文件夹很可能不会受到影响) ).所以我们正在使用这种当前的方法(有两个带有我们名字的文件夹,每当有更新时就推拉.

Mar*_*air 11

依次回答你的前两个问题:

  1. 假设origin在每种情况下引用GitHub存储库,您应该运行git fetch origin.那么"远程跟踪分支" origin/master将在大师的GitHub上的版本,你可以用你的主比较它git diff master origin/master,看看这两个版本之间的差异,或者git log master...origin/master看看都有它独特要么提交masterorigin/master.
  2. 是的,您可以将存储库复制到USB记忆棒并从那里拉出来.但是,如果要从USB密钥拉到另一台计算机上,则需要设置一个指向USB密钥上存储库位置的远程控制器.

关于是否有更好的方法来做你正在做的事情,我恐怕我不清楚你正在做什么或试图达到明智的评论.但是,在每个开发人员命名的存储库中的文件夹(可能)非常相似的源代码听起来有点怀疑 - 您通常会使用分支来处理相同代码的不同版本.


Mau*_*ord 5

如果您的分支正确跟踪远程分支,您应该能够执行 agit status并查看您是否领先或落后于远程分支以及提交次数。

这让我对 git 有点困惑。答案分为三部分:

1)通常当您克隆远程存储库时,您需要该-t标志来跟踪您正在复制的远程分支:

git checkout -tb my_branch origin/my_branch
Run Code Online (Sandbox Code Playgroud)

2) 如果您忘记执行此操作,您可以稍后通过执行以下操作来执行此操作:

git branch --set-upstream my_branch origin/my_branch
Run Code Online (Sandbox Code Playgroud)

3) 如果你的远程分支与本地分支同名,你应该能够设置 git 自动跟踪所有远程分支:

git config push.default matching             <-- for this repo only
git config --global push.default matching    <-- for all git repos that this user deals with on this machine
Run Code Online (Sandbox Code Playgroud)

对于第二个问题,是的,只要您在计算机上使用同一用户,就应该没问题。Git 使用 SSH 身份验证,因此只要正确的用户运行命令,存储库位于何处并不重要,因此它会随请求发送正确的 SSH 凭据。