从下面的代码(来源:)中,我很难想象流程中每个步骤的old_a/master和old_b/master的确切位置。
# Assume the current directory is where we want the new repository to be created
# Create the new repository
git init
# Before we do a merge, we have to have an initial commit, so we'll make a dummy commit
dir > deleteme.txt
git add .
我刚刚第一次尝试了git stash save。效果很好。然后我尝试了git stash apply,在恢复未提交的更改时,另一个效果是删除了工作副本根部的一个随机dir。我不知道它为什么选择那样的dir,在根中还有很多类似它的脏东西。
git stash save输出:
Saved working directory and index state WIP on clipping: cfeac4b - applying the solution from http://stackoverflow.com/questions/40385482/why-cant-i-use-opengl-es-
我的git之一(在的github上进行管理),总是在git status时将文件保留为“删除”状态。
我不能git add它,git rm它或做任何其他事情来删除它。我尝试过git fsck --full,但没有检测到错误。我从github中删除了整个repos和git clone,但问题仍然存在。
这发生在我的Windows 10 64位系统上,有git 64位(git版本2.8.0.windows.1)。
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
我已经在一个团队工作了将近一年了。使用github/git拉取和推送更改总是很容易的,方法是:
git pull
git add .
git commit -a -m "my work desc"
git push
直到最近,这种方法一直运行得很好。现在,无论如何,如果其他人按了,每当我尝试拉的时候,我都会收到这样的消息:
E325: ATTENTION
Found a swap file by the name ".git/.COMMIT_EDITMSG.swp"
owned by: X dated: Wed Jan 23 16:01:
所以,我很确定我做错了什么,但我能意识到什么。
我的.gitignore:{ content/data.db }
当我更改这个文档并执行git status时,我得到:
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted:
我正在尝试创建一个程序来帮助我的备份。它的工作方式是将项目复制到备份位置。在复制之前,它会做一些检查。我检查文件夹是否以前备份过,如果有,我需要在复制新备份之前删除该文件夹。 当我备份没有.git文件夹的项目时,它工作得很好。一旦项目目录有了.git文件夹,它就会断开。它不会删除.git文件夹,这会弄乱程序的其余部分。我似乎找不到删除.git文件夹的方法。 我的代码:https://pastebin.com/jyGhQDB5 def EXTERNAL_BACKUP():
# Loaction of External backup, to check if the language f
我想忽略目录中除一个文件之外的所有文件。
我在我的git bash中做了以下事情。
$ mkdir dir_to_ignore
$ cd dir_to_ignore
$ vi file_to_ignore.txt
# (I put some content and save the file)
$ vi second_file.txt
# (Some text and then save the file. I dont wish this file to be ignored)
$ cd ..
$ vi .gitignore
我将以下内容放入.gitignore文件中:
dir_to_i
我正在用$HOME版本化git,但是使用一个不同名称的存储库目录,这样我的提示符就不会总是显示git信息。
当我想在我的git上使用$HOME时,我已经设置了一个别名
alias gith='git --git-dir=/home/ravi/.githome --work-tree=/home/ravi'
存储库目录.githome本身不应该显示在gith status中,但它是:
~$ git --git-dir=/home/ravi/.githome --work-tree=/home/ravi status -s
M .dotfiles
M .githome/COMM
为什么我要问这个问题
下面的git status输出显示了一个既已删除又未跟踪的文件:
$ git status
On branch bugfix/1386ReferredBySlow
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>...
当我试图向git (git add.)添加文件时,会遇到以下错误:
fatal: Unable to create 'C:/Users/path/to/my/file/.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the fil
我的git目录如下:
--ignore_dir/
----dir2/
------ignorea3.txt
----aaa.txt
----ignorea2.txt
--ignorea1.txt
--ignore1.txt
--.gitignore
这样的.gitignore文件:
/*
!/**/ignorea*.txt
使用git status,它输出:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be
我已经做了1000次了。我从目录中删除了一个文件,然后运行git状态,看起来很好。
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: themes/custom/gitb/templates/views-
当我做git status时,我看到的是:
$ git status
# On branch master
# Your branch is ahead of 'github/master' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use
我的一个git回复经常出问题。我一直收到以下错误:
fatal: Unable to create 'v:/path/to/files/.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the fil
我意外地创建了一个名为:w的文件。我通过使用zsh选项卡功能成功地删除了它。但我不能把它从我的git缓存中删除。
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: Gemfile
# modified: Gemfile.lock
# new file: config/newrelic.yml
#
# Changes not staged for co
我正在尝试制作我的第一个“真正”bash脚本来完成一些实际的工作,而这些工作既可以手动执行,也可以通过cron作业执行。
脚本应该从下载并安装ffmpeg静态构建。
到目前为止,我得到的是:
#!/bin/bash
# Still to come, see if the script runs with root privileges else exit
#Download FFMPEG static daily build and it's md5
cd ~
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-s
我把我的工作保存在GitHub上。通常,我使用以下命令:
git add * # To save all files
git commit -m "a commit"
git push
除了一种情况之外,它工作得很完美:假设我的存储库有两个文件,file1.c和file2.c。
我使用上面的命令,所有东西都保存好了。然后,我删除file2.c,只剩下file1.c。
我再次运行上面的命令,没有错误,但是当我克隆存储库时,两个文件都会出现。
如何从我的存储库中删除这些文件?