学习笔记 - git 从远程源提取代码更改并提交,本地代码提交到远程源
最编程
2024-03-14 15:40:45
...
最近开始学习使用git,找了好多博主的文章总结了一下,并非原创
多多指教。
一、git从远程仓库拉取代码修改并提交
1、本地新建项目目录
2、从远程仓库拉取代码到本地
git clone git[@xxx/xxx.git] //注:默认拉取的是master的分支上的代码
git clone git[@xxx/xxx.git] -b 分支名
//若分支不对,需要切换分支
git remove -v //查看远程仓库地址否错误
git branch -al //查看本地和远程仓库的所有分支(master是本地分支,*表示当前正在使用的分支)
//若报错找不到路径输入git init
git branch -vv //查看分支是否绑定
git checkout [分支名字] //切换到正确分支,开始拉代码
3、将本地仓库关联远程仓库,可以关联多个远程
//初始化
git init
//关联远程仓库地址
git remote add origin [git@xxx/xxx.git]
//取消或取消与远程仓库的连接
git remote remove origin
// 初始化
git init
//连接新的远程仓库地址
git remote add origin [url]
//查看关联了那些远程仓库
git remote -v
4、从远程分支拉取最新代码合并到本地分支
第一种方法
1、git pull origin master //不推荐这种方式,因为是直接合并的,无法提前处理冲突。
/*
origin为远程主机名称,develop为远程分支名称,可以在.git文件夹下的config下找到
这个命令是将本地分支与远程分支进行关联,并且将远程分支origin拉到本地分支master下 如果远程分支origin下还有子分支1.0.0.1,则使用git pull origin/1.0.0.1 master 这样就是将本地的master分支与远程的origin/1.0.0.1进行了绑定 如果你想拉到本地的dev分支上,首先git checkout -b dev(切换分支),然后使用git pull origin dev,这样就将地dev分支与远程origin/dev相绑定了
2、git branch -vv
可以看到master后面蓝色部分origin/master,说明master分支已经与origin/master绑定在一起了。
3、这里如果没有master绑定到远程的分支,就必须使用:
git push origin master :master git push <远程主机名> <本地分支名>:<远程分支名>
*/
第二种方法
//查询当前远程的版本
$ git remote -v
//获取最新代码到本地
$ git fetch origin master [示例1:获取远端的origin/master分支]
$ git fetch origin dev [示例2:获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
/*
注:
git pull和git fetch的区别
git pull(拉取) 即从远程仓库抓取本地没有的修改并【自动合并】到远程分支 git pull origin master
git fetch(提取) 从远程获取最新版本到本地不会自动合并 git fetch origin master
*/
5、提交代码
//先查看状态,是否有改动
git status
//把更新的代码添加到暂存区
git add [xxx] //xxx为文件名,
/*
git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤。
git add * 会忽略.gitignore把任何文件都加入。
*/
//将暂存区的更新提交到仓库区。
git commit -m "【更新】更新说明"
//先git pull,拉取远程仓库所有分支更新并合并到本地
git pull
//将本地分支的更新全部推送到远程仓库。
git push origin master
//再次查看状态,看是否还有文件没推送
git status
二、使用git将本地文件提交到远程仓库
操作准备条件:
git远程仓库已经建好了,本地文件已经存在了,现在要将本地代码推到git远程仓库保存。
解决办法如下:
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件 git add .
3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明:git commit -m 'first commit'
4、关联到远程库 git remote add origin 你的远程库地址
5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败) git pull --rebase origin master
6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。 git push -u origin master
注:-u选项执行以下操作:对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数的git-pull和其他命令使用。
所以,在用-u选项推送本地分支之后,这个本地分支会自动链接到远程分支,并且可以使用没有任何参数的git pull。
附:
上一篇: git 如何在本地拉取代码