我和我的朋友一起使用git来合作一个项目.他在github中创建了一个包含我们每个名字的文件夹的repo,所以每当我更新一些东西时,我都会将它上传到这个文件夹,然后将其推送到github,他也是如此.因此,每次有新的提交时,我们必须从github中提取并将编辑后的文件复制粘贴到我们自己的localhost(wamp).
那么我想问的是:
如何在不检查github的情况下检查是否有来自git bash的新提交?Git pull将拉出我所知道的最新版本,但如果我只是想先检查一下呢?
假设我的git文件夹位于D:// git/project_name中.我可以将此文件夹复制到其他位置(例如USB闪存盘),然后从此USB执行git pull吗?
如果我们的方法无效,您对如何使用git有任何建议吗?我们正在使用CodeIgniter框架,所以起初我建议只是git推送整个CodeIgniter文件夹,但我的朋友说这很危险(因为整个配置和数据库都存在)并且没有必要(因为主系统文件夹很可能不会受到影响) ).所以我们正在使用这种当前的方法(有两个带有我们名字的文件夹,每当有更新时就推拉.
Mar*_*air 11
依次回答你的前两个问题:
origin在每种情况下引用GitHub存储库,您应该运行git fetch origin.那么"远程跟踪分支" origin/master将在大师的GitHub上的版本,你可以用你的主比较它git diff master origin/master,看看这两个版本之间的差异,或者git log master...origin/master看看都有它独特要么提交master或origin/master.关于是否有更好的方法来做你正在做的事情,我恐怕我不清楚你正在做什么或试图达到明智的评论.但是,在每个开发人员命名的存储库中的文件夹(可能)非常相似的源代码听起来有点怀疑 - 您通常会使用分支来处理相同代码的不同版本.
如果您的分支正确跟踪远程分支,您应该能够执行 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 凭据。
| 归档时间: |
|
| 查看次数: |
12632 次 |
| 最近记录: |