一、本地仓库与远程仓库
众所周知,git管理下的项目代码可分为本地仓库和远程仓库。远程仓库可以实现多人协作,本地仓库则用于修改编写自己的代码。
下面给出三种创建本地仓库和远程仓库并将其关联起来的情况:
1、新建项目并建立仓库
这种情况下本地仓库与远程仓库均为空
1) 在本地初始化一个新的 Git 仓库
在命令行中进入到你的项目目录,然后运行以下命令来初始化一个新的 Git 仓库:
git init
2) 添加文件并提交更改
将你的项目文件添加到 Git 中,并提交这些更改:
git add .
git commit -m "Initial commit"
3) 关联远程仓库
现在需要关联一个远程仓库。假设你的远程仓库是空的,可以在 GitHub、GitLab 或者其他代码托管服务上创建一个新的空仓库。
然后,将本地仓库与远程仓库关联:
git remote add origin <远程仓库的URL>
例如:
git remote add origin https://github.com/your-username/your-repository.git
4) 推送到远程仓库
最后,将本地仓库的内容推送到远程仓库:
git push -u origin master
2、拉取已经存在的项目代码
1)使用git clone
git clone <远程仓库的URL>
这会在当前文件夹拉取整个项目,包括项目名称,并自动与远程仓库关联。
2)使用git pull
是开始拎不清楚的时候的尝试, 这样子可以将代码拉下来,但是并没有与远程仓库建立关系,所以修改的代码是不能推送到远程仓库的。
git init
git pull url
但是可以手动绑定远程仓库
git remote add origin <远程仓库的URL>
在上面的命令中,origin
是你为远程仓库起的名称,你也可以使用其他名称。<远程仓库的URL>
是指远程仓库的地址。添加完成后,再次执行git remote
命令,你就会看到新添加的远程仓库了。
二、本地分支和远程分支
1、本地分支
本地在本地可以新建多个分支,并对其进行删除或者合并的操作,只要没有push,并不会影响远程仓库代码。
远程分支通常是管理员进行管理的,并且拥有一定的命名规范。
1)创建新的本地分支
git checkout -b <branch_name>
这个命令的含义是:切换到一个新的分支,并且如果该分支不存在,则创建它。<branch_name>
是你给新分支起的名称。
实际上它是git branch <branch_name>
和git checkout <branch_name>
的组合操作。
另外,使用git branch -a
查看当前所有分支及当前所处分支。
2)创建新的远程分支
要在远程仓库上创建一个新的分支,你可以使用以下命令:
git push origin <local_branch_name>:<remote_branch_name>
这条命令的含义是将本地的 <local_branch_name>
分支推送到远程仓库,并在远程仓库上创建一个名为 <remote_branch_name>
的新分支。
一般情况下,如果远程分支名称和本地分支名称相同,可以简化命令为:
git push origin <branch_name>
这样Git会自动在远程仓库上创建一个同名的分支,并将本地分支内容推送到这个新创建的远程分支上。
三、tag的用处
标签(Tag)是用于给特定的提交(commit)打上一个有意义的标记,用于标识项目中的重要节点或版本。标签通常用于表示软件发布的版本号或里程碑。
如果你的同事给你一个tag名,并表示那是第二版产品的代码,让你在此基础上打包一个文件,你应该怎么做?
1、切换到tag所在代码
你首先去查看了分支,发现并没有同名分支,然后你看到了tag,但是那里显示的是很多个代码压缩包,难道要下载下来重启一个项目吗?
git checkout <标签名>
git checkout 解决问题,但此时
拉取标签只会创建一个分离头指针(detached HEAD),这意味着你不能直接在该分支上进行修改和提交。如果需要在标签的基础上继续开发,建议创建一个新的分支来进行工作.
这就回到了之前说的新建分支的步骤。
四、总结
这里仅列出了本人比较疑惑的点和解决办法,并不完备。 最后,AI大法好啊。