Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GIT中同步特定文件_Git_Github_Git Branch - Fatal编程技术网

如何在GIT中同步特定文件

如何在GIT中同步特定文件,git,github,git-branch,Git,Github,Git Branch,我是git的新手,所以这可能是一个noob问题 我在git工作,有两个不同的分支(我们称它们为A和B) 除一种类型的文件外,两个分支都在处理项目的不同部分 我希望这两个分支机构的文件都是最新的: 如果在分支A上工作的人修改了其中的一个文件,提交并推送他的修改,那么在分支B上工作的人将在分支B中拥有修改后的文件 实现这一点的GIT工作流程是什么?好的,让我来解释一下: Git基本工作流使用分支。假设你在A分支上工作,我在B分支上工作 如果更改分支(a)中的文件,则提交并推送更改。我必须获取并拉取远

我是git的新手,所以这可能是一个noob问题

我在git工作,有两个不同的分支(我们称它们为A和B) 除一种类型的文件外,两个分支都在处理项目的不同部分

我希望这两个分支机构的文件都是最新的: 如果在分支A上工作的人修改了其中的一个文件,提交并推送他的修改,那么在分支B上工作的人将在分支B中拥有修改后的文件


实现这一点的GIT工作流程是什么?

好的,让我来解释一下:

Git基本工作流使用分支。假设你在A分支上工作,我在B分支上工作

如果更改分支(a)中的文件,则提交并推送更改。我必须获取并拉取远程存储库,以获取从远程存储库到本地存储库的更改。但是,在此之后,我必须将您的分支(A)与我的分支(B)合并,以便在我的分支中获得您的更改

基本流程是:

User 1 on branch(A)-some modified files
User 1 on branch(A)-commit those changes to local repo
User 1 on branch(A)-push the commited changes to remote repo

User 2 on branch(B)-fetch and pull the remote repo to grab any new commit that was pushed.
User 2 on branch(B)-merge the branch(A) into my branch(B). Now i have your changes.

是的,但唯一的问题是我不能将整个分支A合并到分支B中。只有一些特定的文件需要合并,但其余的都不能!这里是svn和git之间的区别。Git保存每个文件的快照,因此如果两个分支中的文件相同,则不会合并此文件。当您在git中合并两个分支时,只会将差异从一个分支转移到另一个分支。有一个更高级的功能叫做cherry pick,它允许您从提交中选择特定的文件。但是默认情况下,当mergin分支时,只会转移Delta(差异)。谢谢你,Cherry oick似乎就是我需要的!我可以创建一个提交,其中只包含需要合并到另一个分支中的文件,然后选择这个提交!