标签: git-commands

为什么没有推入git就提交?

我开始学习Git了.我一直在搞乱GitKraken,我希望使用GUI是保存和分享内容的可行途径.我更喜欢GUI到命令行.

现在我明白了,在GUI中,我需要stage的文件,然后commit他们,然后push,上传他们.但为什么pushcommit两个不同的东西?为什么只想commit本地,没有以下上传来保持文件同步?

git git-push git-commit git-commands

6
推荐指数
3
解决办法
1970
查看次数

使用"git commit -a"命令时出现问题

我试图通过使用以下命令提交所有更改

git commit -a
Run Code Online (Sandbox Code Playgroud)

注意:我想提交没有任何"提交消息"

但是当我执行上面的命令时它会显示下面显示的屏幕,我不知道如何离开这个屏幕来完成我的提交.

在此输入图像描述

git repository git-commit git-commands

5
推荐指数
1
解决办法
377
查看次数

如何返回上次提交+删除所有新创建的文件?

如标题所示:"如何返回上次提交+删除所有新创建的文件?" 谢谢.

git git-commands

5
推荐指数
1
解决办法
2375
查看次数

如何知道本地回购与远程回购有何不同,而无需获取?

我得到了数十个存储库,如果发生任何差异,新的提交,新的标记,新的分支,我的脚本应该更新它们。在我的情况下,对于数十个存储库而言,访存有点慢,我想知道是否有任何快速命令可以满足我的要求。

git git-diff git-remote git-commands

5
推荐指数
1
解决办法
1055
查看次数

Git Squash并删除以前的提交

也许我误解了GIT的工作原理。

我已经跑步了git rebase -i HEAD~10,我可以将10次提交压缩为一个。问题是所有压缩的提交仍然存在,并且我认为在将它们全部合并为一个之后,它们将被丢弃。

这是预期的结果吗?如果是这样,我是否可以重写历史记录以删除无用的提交(因为这些更改已经存在于以前所有提交已被压缩的提交中)?

git git-commit git-commands git-squash

5
推荐指数
1
解决办法
6155
查看次数

将新的"git ..."子命令实现为Python脚本

我觉得这个问题可以用一两个超链接来回答; 我只是没有提出正确的搜索条件来自己查找这些链接...

我正在尝试git p4对子命令进行一些小的更改,它被实现为一个名为3797行的Python脚本/usr/libexec/git-core/git-p4.在深入探讨代码之前,我想了解一下Python git命令的结构.

子命令从调用者那里得到什么信息?它可以依赖现有的环境变量?它如何检测配置(来自.git/config和/或~/.gitconfig)?git命令行选项是如何传递下来的git(如果有许多不同子命令共有的命令行选项,并且您希望确保它们的处理是集中的)?子命令启动时当前工作目录是什么?如果我改变 cwd怎么办?git作为新子命令功能的一部分,我如何回复它应该更改repo(make commits,添加或删除标签,重写历史记录)?我的命令可以直接"处理"索引而无需创建工作树,如果是,如何?如何处理和报告错误?如何以一致的方式打印使用信息?

我假设必须有博客文章和关于这个主题的事情,但搜索"在python中编写一个git子命令","创建新的git子命令"等,只是提出了从Python运行现有git命令的方法以及创建新方法的方法git repos,分别.

python git git-commands

5
推荐指数
2
解决办法
438
查看次数

在单个命令中执行多个git命令,以便编译器遇到它们

我有以下按顺序运行的命令列表,以便可以提交源项目并将其推送到Bitbucket上的存储库:

git init
git remote add origin https://[BitBucket Username]@bitbucket.org/[BitBucket Username]/[BitBucket Repository Name].git
git config user.name "[BitBucket Username]"
git config user.email "[BitBucket Email ID]"
## if email doesn't work then use below ##
git config --global user.email \<\>
git add *
git commit -m "[Comment]"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

现在,我想知道是否有可能将所有这些都链接到单个git命令中并保持相同的顺序,而不是将每一行分别放在各自的时间和顺序上,如下所示?

git init remote add origin https://[BitBucket Username]@bitbucket.org/[BitBucket Username]/[BitBucket Repository Name].git  config user.name "[Username]" ....
Run Code Online (Sandbox Code Playgroud)

还是至少结合以下多个相同类别的参数?

git config user.name "[BitBucket Username]" user.email "[BitBucket Email ID]"
Run Code Online (Sandbox Code Playgroud)

我需要通过示例来了解这两种情况的可能性。

git bash git-bash git-commands combiners

4
推荐指数
2
解决办法
1348
查看次数

Git commit --amend后Git not-fast-forward错误

我使用git commit --amend修改了之前的提交.在那之后,当我推动我的更改时,由于'not -fast-forward'错误,我被拒绝了.我找到了答案.不幸的是,如命令,git pull --rebase,git fetech origin不工作.如果我的本地仓库没有冲突,为什么我的推送失败了.

git git-amend git-commands

3
推荐指数
1
解决办法
1319
查看次数

获取git命令列表

我想为每个git命令创建一个别名.

因为它们中有很多,我想把它们放在一个列表中然后在我的循环中循环.bashrc.

有没有办法让它们在shell脚本中?

git bash git-commands

3
推荐指数
1
解决办法
915
查看次数

使用git如何将代码从一个分支转移到另一个现有分支(不一定是主分支)?

我的代码在团队git repo的一个分支中.现在我需要将它"转移"(即推送)到团队成员正在使用的同一个仓库的另一个分支中.我怎样才能做到这一点 ?

我更喜欢使用git bash.

PS - 我必须转移到的新分支不是"主".

git git-bash git-commands

2
推荐指数
1
解决办法
7715
查看次数

在git中使用未提交的更改来切换分支

我正在我的主分支上工作,并在主分支内部进行一些未提交的更改.我已经创建了一个功能分支,我可以使用该git checkout feature_branch命令切换到我的功能分支.我有几个疑问,我在下面列出:

  1. 当我在主分支中进行更改时,为什么我在分支中看到未提交的更改.如果我在主分支中提交我的更改并切换到我的功能分支,我看不到特定于master的已提交更改.我也期待未提交更改的相同行为.
  2. 我在Git中遇到了stash命令,并且在那里提到如果你在master分支中有任何未提交的更改,并且想要切换到其他分支,git将不允许你,因此你需要将更改存储在master分支然后只切换到开发分支.我没有遇到这个问题.我在这里遗漏了什么,如果是这样,使用stash命令有什么意义?

git git-stash git-commands

2
推荐指数
1
解决办法
1733
查看次数

在git中删除上一个分支的快捷方式

在git中,能够轻松删除我以前所在的分支将很有帮助。您无法删除所在的分支,因此您需要签出新的/现有的分支,并通过写下其全名来删除先前的分支。

git checkout new_branch
git branch -D old_branch_with_really_long_and_hard_name
Run Code Online (Sandbox Code Playgroud)

我真正想要的是能够做到这一点:

git checkout new_branch
git branch -D -
Run Code Online (Sandbox Code Playgroud)

git command-line git-commands

2
推荐指数
1
解决办法
213
查看次数

$ git commit --amend不更改/保存提交消息

最近,$ git add .我对其中一个存储库进行了一些更改,然后是$ git commit -m'INcorrect commit message'

我决定使用以下方式将错误的提交消息更改为“正确的提交消息”

$ git commit --amend

可以在以下位置找到我遵循的说明:https : //git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages

我使用的Atom,所以原子与打开“ IN正确的提交信息”显示,我更改为“正确的提交信息”,然后保存我的变化。

保存更改后的提交消息后,我$ git log -1期望看到“正确的提交消息”;但是,我仍然看到“ IN正确的提交消息”。

我到底在做什么错?

注意

在此之前,我按照以下说明将git编辑器从Sublime更改为Atom:如何使Git使用我选择的编辑器进行提交?

我基本上使用了:

$ git config --global core.editor "atom"

$ export GIT_EDITOR=atom

现在,我意识到我不必同时执行这两项操作,但是我也意识到这可能也没有伤害。

git github git-commit git-commands atom-editor

2
推荐指数
1
解决办法
530
查看次数