1.git add .
和git add -A
git add .
: 将当前目录及子目录下文件的修改,保存到暂存区; git add -A
: 将当前仓库下的文件修改,保存到暂存区。
/my-repo
.git/
subfolder/
nestedfile.txt
rootfile.txt
复制代码
例如上面的目录结构,如果再my-repo
下rm rootfile.txt
之后再cd subfolder
。git add .
不能记录rootfile.txt删除的修改,而git add -A
可以记录这种修改情况。
2.add & commit
经常需要操作的命令是git add
和git commit
,有一个命令可以合并add和commit的操作。
git commit -am
:保存所有文件的修改,并直接提交添加描述;
局限:untracked的文件(新建的文件)是不能通过改命令来保存的!
3.冲突的产生和处理
3.1 产生: 存在A,B两个分支,同一个文件a、同一行代码233。
如果A分支,修改文件a的233行代码,B分支没有做任何操作;或者B分支,修改文件a的233行代码,A分支没做任何操作。不会有冲突
如果A分支,修改文件a的233行代码,B分支同时也修改了233行代码;如果修改内容一样,不会有冲突;如果修改内容不一样,产生冲突。
3.2 形式:
<<<<<<< HEAD
当前分支的代码
=======
merge进的分支代码
>>>>>>> otherbranch
复制代码
3.3 解决: 1.明确分工,开发涉及的文件尽量不要有重叠;做代码修改之前,merge分支。 2.两个分支的开发协商解决,确定最终的代码。