Git的使用

大致流程:本地仓库 -> (add)本地缓存区 -> (commit) Head -> (push)远端仓库

1 远程端

1.1 进入Github首页,点击New repository新建一个项目
1.2 填写相应信息后点击create即可

Repository name: 仓库名称

Description(可选): 仓库描述介绍

Public, Private : 仓库权限(公开共享,私有或指定合作者)

Initialize this repository with a README: 添加一个README.md

gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore

license: 证书类型,对应生成文件LICENSE
1.3 点击Clone or dowload会出现一个地址,注意这个地址后面需要用到。

2 本地端

2.1 若创建新仓库

git clone http://地址/项目名.git
cd 项目名
touch README.md
git add README.md
git commit -m “add README”
git push -u origin master //命令解释: git push -u <远程主机名> <本地分支名>,如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样以后就可以不加任何参数使用git push

2.2 若文件夹已存在

cd 文件夹
git init //会生成一个隐藏的文件夹 .git

git remote add origin 之前创建的git地址 //此时在config文件中可以看到添加的网址信息
(git地址:前面第3点提到过,Clone or dowload会出现一个地址,复制过来即可)

ubuntu终端设置账户(需要和github账户设置一致, 如果之前忘了设置,没关系,后面操作的时候也会提示设置):
git config --global user.name 用户名
git config --global user.emai 邮箱

你可以提出更改(把它们添加到暂存区),使用如下命令:
git add

git add  *

当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可使用-a标识,-m是注释说明

git commit -a -m "Initial commit"

git push origin master //此时会提示:输入用户名和密码
//注意:2020年10月1日后,git默认主分支由master变成main了,而master变成了子分支,要想在主分支main下,则上面命令改为:

git push  origin main 

注意:在以上分支上执行上述命令之前,要先确定
1.要推送到哪个远程分支(前提:远程仓库存在多个分支)
2.现在处于哪个本地分支
3.考虑要不要先更新一下你的本地仓库至最新改动,执行:
git pull origin 分支名 (origin表示远程的仓库)

2.3 分支创建、切换、删除
创建:git branch 分支名称
切换:git checkout 分支名称
git checkout -b 分支名称(创建并切换)
删除:git branch -d 分支名称
2.4 对其他分支的更改不会反映在主分支上。如果想将更改提交到主分支,则需切换回master分支,然后使用合并。

git checkout master
git merge 分支名称 //把分支合并到当前分支

3 Git本地分支和远程分支关联

查看本地分支

git branch 

查看远程分支:

加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)
*表示当前所处分支

git branch -a

在这里插入图片描述
如果远程新建了一个分支名为develop,本地没有该分支。

1.新建本地分支develop并切换:  git checkout -b develop 
2.本地分支与远程分支相关联 :  git pull origin develop  (origin表示分支为远程的)

如果本地新建了一个分支 branch_name,但是在远程没有。或者远端也有是要有同名分支

1.在本地新建分支  git checkout -b branch_name
2.和远程分支关联并创建远程分支   git  push  -u  origin branch_name    -u为关联意思

4.详解git pull和git fetch的区别

有人说git pull=git fetch+git merge,真的是这样吗?
参考:详解git pull和git fetch的区别

5.远程分支和本地分支

先查看本地和远程分支有哪些

git branch -a

如果远程有个新建的名为check的分支,用上述命令可能看不到 origin/check远程分支 ,此时, 本地分支也要新建一个check分支并切换

git checkout -b check

在本地check分支下,拉取远程代码

git fetch origin

拉取成功的后,再用命令:git branch -a应该就可以看到远程分支 origin/check
后续再进行 add commit push等操作到远程check分支就不会报错误了
***(合并分支的操作要小心)

常见错误:
1.在对本地库中的文件执行修改后,想git push推送到远程库中,结果在git push的时候提示出错:! [rejected] master -> master (non-fast-forward)
error: 无法推送一些引用到 ‘git@github.com:GarfieldEr007/XXXX.git’
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 ‘git pull …’)。详见
提示:‘git push --help’ 中的 ‘Note about fast-forwards’ 小节。

解决方案:
因为当前分支的最新提交落后于其对应的远程分支,所以我们先从远程库fetch到更新再和本地库合并,之后就可以git push操作了.

git remote add origin 远程地址  
git fetch origin  
git merge origin/master  

上述是master远程分支,如果远程分支是develop,则第三行改为:

git merge origin/develop

参考文献:
1.Git使用方法(精心整理,基本够用)
2.如何将本地的代码上传到github
3.git分支的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值