有没有办法在git中逐行添加?
我试过这个:
git add -p
Run Code Online (Sandbox Code Playgroud)
但这个命令对我来说并不有效。因为我需要单独处理每一行。
如果没有解决方案,我对 git 社区忘记添加此功能感到惊讶。
我是Git的新手,我在提交前使用此命令:
git add .
Run Code Online (Sandbox Code Playgroud)
它添加了一些我不想被跟踪的文件:临时文件
.tmp_basictest-barchart.html.84279~
.tmp_basictest-demo.html.84399~
Run Code Online (Sandbox Code Playgroud)
和隐藏文件:
.project
Run Code Online (Sandbox Code Playgroud)
如何避免添加这些文件?
我正在考虑将一些文件添加到.gitrepo目录,并将push它们添加到上游而不跟踪/提交它们.
例:
.git/information.txt
Run Code Online (Sandbox Code Playgroud)
在我做了之后commit,我添加了文本information.txt,然后push.当我clone/ fork我想仍然有这个文件.git.
我基本上想要的是拥有未被跟踪的文件,并且在git push发布时使用本地存储库中的现有内容更新上游中的内容.
我想这样做的方法是破解git-init并添加我想要的任何内容,并查看git push/ clone/ fork对.git文件夹做了什么,并保留新文件并将它们发送到上游.但我在想,也许还有另一种方式.
是否有我错过的配置选项?
可以说我有一个git根文件夹mine_git,其中有一个子目录subdir.所以我已经工作了一点,而且我在subdir- git status列出所有已更改的文件:
subdir$ git status -uno
# On branch master
# ...
#
# modified: mysubdirfile.txt
# modified: ../a-main-file.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
K,所以我想将所有这些跟踪和修改的文件添加到临时区域(或缓存?索引?不确定名称),所以我可以事后提交; 所以我发出:
subdir$ git add -u
Run Code Online (Sandbox Code Playgroud)
......然后我再次检查:
subdir$ git status -uno
# On branch master
# Changes to be committed:
# ...
#
# modified: mysubdirfile.txt
#
# Changes not staged for commit:
# ...
#
# modified: ../a-main-file.txt
# …Run Code Online (Sandbox Code Playgroud) 我们在path/to/another/和中修改了文件path/to/main/.已添加到git缓存中的
文件,path/to/main/但我们已更新path/to/main/Bar.php文件AGAIN.我们现在有以下情况:
$ git status
[...]
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: path/to/main/Foo.php
modified: path/to/main/Bar.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: path/to/main/Bar.php
modified: path/to/another/Aaa.php
modified: path/to/another/Bbb.php
Run Code Online (Sandbox Code Playgroud)
(注意路径/到/ main/Bar.php出现两次)
我需要一个可以读取之前添加的文件而不使用特定路径的命令.
PS git add --update将添加所有这些文件.它不起作用.
PPS此命令应该能够读取modified:和输入new file:类型.
UPD1
感谢@AyonNahiyan,是的,它可以在bash中运行.但也许有一个命令没有使用bash技巧(子命令).
在Git中,将文件添加到提交中时,我们可以添加所有与模式匹配的文件,如下所示:
git add **Component**
我发现此功能非常有用,可以快速添加许多具有相似名称的文件。
例如,如果我的所有文件都是根据组件命名的,那么我可以将对组件所做的所有更改快速添加到组件中。
同样,git中是否有办法添加所有要提交的文件(不包括与模式匹配的文件)?
就像是:
git add *.java --exclude **Component1**
这样,除了对component1的文件所做的更改之外,我所有的java文件都可以更改吗?
每次我向我的项目添加一个新图像时,Git都会将CRLF转换为LF.如果文件来自Windows,那也没关系,但事实并非如此,我在Debian上!我从远程服务器上"拉"获得的文件然后被破坏= /
我有两个分支主和主干。
我在本地创建了另一个分支,git checkout -b new_branch origin/master用于在该分支中获取主代码。
我在这个新分支中添加了一些更改并推送为:
git add --all
git commit -m "my custom message"
git push origin new_branch
Run Code Online (Sandbox Code Playgroud)
现在我只需要在我的主干分支中合并这个提交 id 更改(在分支 new_branch 中)。
我知道git cherry-pick。任何人都可以确认以下程序是否正确:
第 1 步:我必须使用git checkout trunk
第 2 步切换到主干分支:现在使用git cherry-pick MY_COMMIT_ID
第 3 步合并提交 ID :现在使用git push origin trunk
第 4 步将这些更改推送到主干:现在git pull origin trunk在远程服务器中使用
如果我更改一堆文件然后运行命令,git add .它会将所有文件都包含.gitignore在我的提交列表中。
如果我使用,git rm --chached .gitignore则它显示为deleted: .gitignore并git add .正在添加已删除的.gitignore文件
我如何忽略.gitignore自身,以便该git add .命令仅在实际文件或目录中添加我的更改。
我认为这个问题已经在这个问题下讨论过:
但是我仍然无法将一些文件夹添加到 git 存储库,我需要帮助。
$ git status
...
# modified: folder_to_add1 (modified content, untracked content)
# modified: folder_to_add2 (modified content, untracked content)
Run Code Online (Sandbox Code Playgroud)
这些文件夹原本属于另一个git存储库,所以我进入这些文件夹并删除了里面的.git文件夹。
然后我跑了:
$ git add folder_to_add1
$ git add folder_to_add2
$ git status
# On branch master
# 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)
# (commit or discard the untracked or modified content in submodules) …Run Code Online (Sandbox Code Playgroud) 如果我们想删除一个文件(比如file1.txt)并停止git repo来跟踪它,据说我们应该使用git rm file1.txt然后git commit -m "..." 它。但通过操作系统从工作目录中删除rm file1.txt,add .然后git commit -m "..."执行相同的操作。他们有什么区别?
假设<filename>git正在跟踪,
git commit -m "message" <filename>
可以不做一个
git add <filename>?
git ×12
git-add ×12
git-commit ×4
github ×2
gitignore ×2
cherry-pick ×1
dotfiles ×1
git-bash ×1
git-branch ×1
git-rm ×1
git-track ×1
hidden-files ×1