Git 协作命令

Git Commands for Collaboration

我正在学习 Git 的基础知识,但我无法掌握一个概念。我浏览了 YouTube、Github、Attlasian、Gitguys 和 Git-SCM 上的主要教程。不幸的是,这些教程是由不是教师的程序员编写的。

事情是这样的:

我想为现有的回购(单元测试)做贡献。 但是我只能在我也必须创建的单独分支中这样做。

我需要什么 Git 命令来下载这个项目、添加我的代码、创建一个单独的分支、用我的代码上传项目?

PS。为了您的方便 -

master应该是主分支,所以步骤如下:

1- 克隆存储库:

git clone git_repo_url

2- 确保它与主人一起更新:

git pull origin master

3- 基于master新建分支:

git checkout -b your_new_branch

4- 进行更改并提交(请注意这不是最佳选择,因为您不会检查更改 - 它会提交所有内容 - 关于如何使用 tutorials =18=]):

git add --all
git commit -am "describe your changes"

5- 推送您的更改:

git push origin your_new_branch

6- 转到 github/gitlab/gitbucket/... 并创建合并请求(或拉取请求)

更新:

如果您想更改代码,您需要更新的代码吗?
通常主分支称为master(生产中的代码)。 您将从 master(或从 mainBranch,如果是这种情况)创建一个新分支,因此您将在具有不同名称的分支中拥有代码的更新版本(your_new_branch 在我的例子中)。
通过这种方式,您可以更改代码并将您的更改提交到这个新分支。所有命令都写在终端中。当你完成你的工作时,你将拥有不同于mainBranchyour_new_branch
然后您团队中的某个人可以下载您的分支并合并更改。

我已经在下面解释了....我希望清楚...

git clone git_repo_url            #clone the code
git co mainBranch                 #go to branch that have the code you need to change
git pull origin mainBranch        #make sure the local code is update with the remote branch
git checkout -b your_new_branch   #make a new branch based on the mainBranch
#at this point the code is identical in both branches( mainBranch and your_new_branch)
git add --all                     #add all the files you have changed to be commited
git commit -am "message"          #write your commit message to explain what you have changed
git push origin your_new_branch   #send your branch to the repo

这样,您团队中的某个人将能够下载您的分支并将其合并到 mainBranch:

git co your_new_branch            #go to your branch
git pull origin your_new_branch   #get the code
git diff mainBranch               #view the difference between branches
git co mainBranch                 #go back to the mainBranch
git merge your_new_branch         #merge your changes into the mainBranch

正在下载项目

$ git clone https://link.git <folder-name>
$ git checkout -b feature/unit-tests-from-z

这些命令会将 repo 下载到文件夹名称中,或者如果您没有提供,则将其下载到名为 link 的文件夹中。该路径相对于您当前的工作目录。然后你将签出一个 new 分支(这就是 -b 标志所表示的),也将在该分支上结束。

checkout 命令真的很强大。这是您用来在历史提交之间或到新分支之间移动的方式。使用 git checkout [tag/hash/branch].

可以查看历史上任何时候提交的任何更改

然后您可以使用以下方法验证您是否在新分支上:

$ git branch

将您的更改添加到分支

完成更改后,使用:

$ git add .

. 表示您要添加相对于当前工作目录的所有已更改文件。如果您已删除文件,则还可以使用上述命令使用 --ignore-removal 标志。

如果您想更好地控制添加的内容,请改用以下内容:

$ git add -p

但是,它只适用于更改的文件。使用 $ git add /path/to/file.

添加新文件

使用 git 时,不要仅以正常方式删除文件。使用:

$ git rm path/to/file

添加所有文件后,使用:

$ git commit -m "A brief description about the changes you made."

如果你敢使用默认的命令行文本编辑器,最好使用:

$ git commit

上传您的更改

如何完成取决于文件的位置。如果您对您的分支所在的仓库有推送权限,那么您首先需要添加该仓库(https://link.git 地址将不起作用,因为它是只读的)。

您使用:

$ git remote add repo-name address-to-repo

确保您的项目中添加了正确的远程存储库后,使用:

$ git push repo-name feature/unit-tests-from-z

使用此命令会将您的新分支推送到相关存储库。