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

时间:2011-05-15 05:53:16

标签: 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文件夹,但我的朋友说这很危险(因为整个配置和数据库都存在)并且没有必要(因为主系统文件夹很可能不会受到影响) )。所以我们正在使用这种当前的方法(有两个带有我们名字的文件夹,每当有更新时就推拉。

2 个答案:

答案 0 :(得分:11)

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

  1. 假设origin在每种情况下都引用了GitHub存储库,您应该只运行git fetch origin。然后,“远程跟踪分支”origin/master将位于GitHub上的master版本中,您可以将其与主人git diff master origin/master进行比较,以查看这两个版本之间的差异,或{{1} }查看git log master...origin/mastermaster唯一的提交。
  2. 是的,您可以将存储库复制到USB记忆棒并从那里拉出来。但是,如果要从USB密钥拉到另一台计算机上,则需要设置一个指向USB密钥上存储库位置的远程控制器。
  3. 关于是否有更好的方法来做你正在做的事情,我恐怕我不清楚你正在做什么或试图达到明智的评论。但是,在每个开发人员命名的存储库中的文件夹(可能)非常相似的源代码听起来有点怀疑 - 你通常会使用分支来处理相同代码的不同版本。

答案 1 :(得分:4)

如果您的分支正在跟踪远程分支,您应该能够git status并查看您是在遥控器的前方还是后方以及提交了多少次。

这对我来说有点混乱。以下是三个部分的答案:

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

git checkout -tb my_branch origin/my_branch

2)如果您忘记这样做,您可以稍后执行此操作:

git branch --set-upstream my_branch origin/my_branch

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

对于你的第二个问题,是的,只要你在你的机器上使用相同的用户就应该没问题。 Git使用SSH身份验证,因此只要正确的用户正在运行命令,它就会在repo所在的位置无关紧要,因此它会发送正确的SSH凭据以及请求。