环境:

test_git 目录下有个my-project 版本库

所有命令都在test_git目录下执行

 

本地协同操作

从远端仓库检出代码,或者克隆一个已有的版本库

  • 拷贝一个已有的仓库
#格式: git clone 目标文件 文件
git clone ./my-project ./my-project-copy

 

  • 将原版本库中的新提交传递给克隆版本库
#1.修改原版本库中的文件并执行add,commit操作
git pull #2.在原版本库中执行
git pull #3.在克隆版本库中执行
# 现在两个版本库的代码就一致了

 

  • 将克隆版本库中的修改pull到原版本库中
#1.修改克隆版本库中的文件并执行add,commit操作
git pull #2.克隆版本库中执行
git pull ../my-project-copy master #3.在克隆版本库中执行,取回修改
# 现在两个版本库的代码就一致了

 

  • 因为克隆库存储了原始库的信息所以执行pull命令时可以不加参数,而原始库没有克隆库的信息,所以执行pull命令要加克隆库的信息
  • pull : 从其它库里获取提交
  • 在共享库中提交和获取代码

把变更的代码提交到共享版本库中供其它仓库pull

  • 创建共享版本库
git clone --bare ./my-project #创建一个裸奔仓库
#执行完会生成一个名为 our-project.git共享库

 

#1.目标仓库修改文件并执行add commit操作
#2.向共享仓库push代码
git push ..\your-project.git\ master
#3.在另一个仓库中pull共享版本库的代码
git pull ..\your-project.git\ master

 

远端协同操作

与中央仓库交互

  • 从远端检出代码:
#格式 git clone 路径
git clone git@github.com:liuyanqing1023/xcEduService.git

 

  • 向中央仓库提交代码:
git push #向中心仓库push代码

 

  • 从中央仓库获取代码:
git pull
  • 远端创建仓库: 
echo "# pandaGenerator" >> README.md
git init #在本地初始化一个git仓库
# 提交仓库说明,不是必须的
git add README.md
git commit -m "first commit"
#设置远端仓库
git remote add origin https://github.com/liuyanqing1023/pandaGenerator.git
# 将master分支推送到origin仓库
git push -u origin master
  • 从命令行推出现有的存储库
#初始化git,已经初始化的不用执行该命令
git init

git add .

git commit -m '初始化项目'

#设置origin主机地址
git remote add origin https://github.com/liuyanqing1023/pandaGenerator.git
#令将本地的master分支推送到origin主机
git push -u origin master # 失败的话尝试加个-f; -f表示以当前分支为基准,智能解决冲突

 

小结

 

- 工作区与版本库: 工作区是一个包含.git子目录(内含版本库)中的目录。我们可以用init命令在当前目录中创建版本库。

- 版本提交: 一次版本提交通常定义了版本库中所有文件的一个版本,它详细说明了该版本是由何人在何时何地创建的。当然,我们需要用add命令来确定哪些文件将被纳入下一次提交,然后再用commit命令创建新的版本提交。

- 查看信息: 通过status命令,我们可以查看哪些文件已被本地修改,以及哪些修改将被纳入下次提交。另外, log命令可用来显示提交历史。dirr命令可用来显示两个版本文件之间的差异。

- 克隆: 对于用clone命令创建某一个版本库的副本,我们称之为该版本库的克隆体。在一般情况下,每个开发者都会拥有整个项目版本库的完整克隆体,他/她的工作区中将会包含完整的项目历史。这使他们可以各自独立开展工作,无需连接服务器。

- 主送与拉回: push与pull命令可用于在本地和远程版本库之间共享版本提交

------ 码字不易如果对你有帮助请给个关注

爱技术爱生活 QQ群: 894109590