好的,在看到PJ Hyett的这篇文章之后,我决定跳到最后并与Git一起去.
所以我需要的是初学者对Git 的实用指南."初学者"被定义为知道如何处理编译器的人,在某种程度上理解Makefile是什么,并触及源代码控制而不理解它.
"实用"被定义为这个人不想详细了解Git在后台做什么,甚至不关心(或知道)它是分布式的.您的回答可能暗示了可能性,但尝试瞄准想要在备份和安全的"服务器"上保留"主"存储库的初学者,并将其本地存储库视为仅仅是"客户端"资源.
所以:
我运行了"git status",下面列出了一些被修改的文件/或标题为"未提交更改的更改"标题.它还列出了一些我想忽略的未跟踪文件(我在这些目录中有一个".gitignore"文件).
我想将修改后的文件放在暂存中,以便我可以提交它们.当我运行"git add."时,它将修改后的文件和我想忽略的文件添加到登台.
如果使用下面的git状态显示,如何仅添加已修改的文件并忽略未跟踪的文件.
另外,我的".gitignore"文件是否正常工作?
$ git status
# On branch addLocation
# 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: someProject/path/domain/viewer/LocationDO.java
# modified: someProject/path/service/ld/LdService.java
# modified: someProject/path/service/ld/LdServiceImpl.java
# modified: someProject/path/web/jsf/viewer/LocationFormAction.java
# modified: someProject/war/WEB-INF/classes/message/viewer/viewer.properties
# modified: someProject/war/page/viewer/searchForm.xhtml
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .metadata/ …Run Code Online (Sandbox Code Playgroud) 我读过,当在git中重命名文件时,你应该提交任何更改,执行重命名,然后暂存重命名的文件.Git将从内容中识别文件,而不是将其视为新的未跟踪文件,并保留更改历史记录.
然而,今晚这样做我最终还是回归git mv.
> $ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: index.html
#
Run Code Online (Sandbox Code Playgroud)
将Finder中的样式表重命名iphone.css为mobile.css
> $ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: index.html
#
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be …Run Code Online (Sandbox Code Playgroud) 有没有办法添加所有文件,无论你对它们做什么,是否删除,未跟踪等?喜欢提交.我每次提交时都不想拥有git add或git rm所有文件,特别是当我在处理大型产品时.
我刚开始使用git和github.我按照他们的指示在最后一步遇到了错误.我正在检查当前不受源控制的现有目录(项目大约一周).除此之外,我的用例应该是磨机的运行.
这是发生了什么:
$ git push origin master
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'
Run Code Online (Sandbox Code Playgroud)
Github的指示:
Global setup:
Download and install Git
git config --global user.name "Your Name"
git config --global user.email {username}@gmail.com
Next steps:
mkdir projectname
cd projectname
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:{username}/{projectname}.git
git push origin master
Run Code Online (Sandbox Code Playgroud) 我发现在Git中非常有用的命令之一就是git add -u将除了未跟踪文件之外的所有文件抛出到索引中.那有反过来了吗?在过去的几个月里,我经常发现自己处于这样一个位置:我交互式地为索引添加了一些更新,我希望在提交之前将所有未跟踪的文件添加到该索引中.
有没有办法只将未跟踪的文件添加到索引而不单独识别它们?我在帮助文档中没有看到任何明显的东西,但也许我错过了它?
谢谢.
我是git的新手,我有一个关于在git中添加文件的问题.我发现约之间的差异多个计算器的问题git add .及git add -a,git add --all,git add -A等,但我一直无法找到解释了什么地方git add *呢.我甚至看过git add手册页,但它没有帮助.我一直用它代替,git add .我的同事问我为什么.我没有答案.我一直都在使用git add *.
是git add .和git add *一样吗?是否只从当前目录添加更改的文件,而另一个添加当前目录和子目录中的文件(递归)?
在其他一个堆栈问题上列出了一个很好的图表,显示了git add -A git add .和之间的差异git add -u,但它没有git add *.

注意:我理解将星号用作通配符意味着什么(添加具有给定扩展名的所有文件).例如,git add *.html想补充一点,有一个所有文件.html的扩展名(但忽略.css,.js等).
谢谢您的帮助!
有什么区别:
git add .git commit -a我应该做两件事,还是多余的?
当我这样做时git commit -a,我看到以下内容:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch better_tag_show
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: ../assets/stylesheets/application.css
# modified: ../views/pages/home.html.erb
# modified: ../views/tags/show.html.erb
# modified: ../../db/seeds.rb
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../assets/stylesheets/
# ../views/pages/ …Run Code Online (Sandbox Code Playgroud) 我假设两者都以同样的方式工作.两者都将每个文件添加到索引.但我似乎错了.
git add .和之间有什么区别git add -u?git ×10
git-add ×5
commit ×1
git-commands ×1
git-commit ×1
git-mv ×1
git-rm ×1
github ×1
gitignore ×1
staging ×1