默认的git diff行为是以串行方式打开每个diff文件(等待先前文件在打开下一个文件之前关闭).
我正在寻找一种方法来同时打开所有文件 - 例如,在BeyondCompare中,这将打开同一BC窗口中选项卡中的所有文件.
这样可以更轻松地查看一组复杂的变化; 在diff文件之间向后和向前翻转并忽略不重要的文件.
我经常忘记我有一些新文件直接做,
git commit -a -m "My commit message"
Run Code Online (Sandbox Code Playgroud)
这只提交更改的文件,我必须在新提交中添加剩余的文件.这意味着有两个单独的提交,但从逻辑上讲它们是同一任务的一部分.
我知道通过两个连续命令在提交中包含未跟踪文件的最简单方法:
git add -A
git commit -a -m "My commit message"
Run Code Online (Sandbox Code Playgroud)
是否可以在一个命令中获得与上述相同的效果?
我目前正在使用三个命令的集合来获取当前标记,分支以及最近提交的日期和SHA1.
git describe --always --tag
git log -1 --format="%H%n%aD"
git rev-parse --abbrev-ref HEAD
Run Code Online (Sandbox Code Playgroud)
这将输出如下内容:
1.2.3-5-gdeadbeef
deadbeef3b8d90071c24f51ac8f26ce97a72727b
Wed, 19 May 2010 09:12:34 +0200
master
Run Code Online (Sandbox Code Playgroud)
说实话,我对此完全没问题.但是我正在使用Maven的这些命令以及之前使用过Maven的人,知道外部命令会让POM膨胀多少.我只想减少我的pom.xml,可能会减少执行时间.
我正在开发一个包含submodules. 我在所有子模块(包括父模块)中都有同名的分支(例如master,development..),并且它们都跟踪相应的远程分支。
我想一次在所有子模块中签出相同的分支。换句话说,我想要的是,如果我切换到development父模块中的分支,所有子模块也应该切换到development分支,以便我的工作树与分支保持一致。
手动执行此操作既痛苦又重复。有捷径吗?
我有以下按顺序运行的命令列表,以便可以提交源项目并将其推送到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)
我需要通过示例来了解这两种情况的可能性。
这是我正在编辑的配置的摘录。这是在[alias]my的部分内.gitconfig:
ignored = !git ls-files -v | grep "^S"
status-with-ignored = "!f() { git status; ignored=$(git ignored | cut -d ' ' -f 2 | sed -e s/^/z/ -e s/$/z/); [ -n \"$ignored\" ] && echo \"git skip-worktree (ignored):\n$ignored\"; };f"
Run Code Online (Sandbox Code Playgroud)
我基本上是在尝试将 的输出着色,git ignored因为我将其粘贴到 git status 的末尾。我上面显示的工作正常,但fatal: bad config file line 18 in ~/.gitconfig如果我的sed命令中有任何括号(这对于构建正则表达式非常有用),则它不起作用 ( )。
例如,我希望能够写一些带有括号的东西,例如sed s/^(.*)$/z\1z/代替sed -e s/^/z/ -e s/$/z/.
因为我上色的东西,我实际上是使用\x1b[31m,\x1b[m等等,但你的想法。 …
git ×6
bash ×2
combiners ×1
command-line ×1
difftool ×1
git-alias ×1
git-bash ×1
git-commands ×1
mavanagaiata ×1
maven ×1