-------------------------------------------------------
branch:树枝 分支 upstream : 上游 merge:合并 checkout:检查 检出 feature:特点
conflict : 冲突 Automatic : 自动地 force : 强制 remote : 远程
-------------------------------------------------------
“name” : 自定义名称 origin :只远程仓库名称(新建的仓库一般都是origin名称)
-------------------------------------------------------
创建与拉取仓库命令:
workspace:工作区 -- 存在于本地
staging area:暂存区/缓存区 -- 存在于本地 .git 文件夹中
local repository:版本库或本地仓库 -- 存在于本地 .git 文件夹中
remote repository:远程仓库
git pull - 拉取远程仓库代码到工作区
git init - 初始化仓库
git add . - 将工作区的文件添加到暂存区
git commit - 将暂存区内容添加到版本仓库中
git push - 将版本库的内容添加到远程仓库 如果当前版本库被git commit提交过多次,那么git push会将多次commit的信息都提交到远程仓库上
git checkout - 是版本库与工作区的互相操作
git clone - 将远程仓库内容克隆到版本库
-----------------------------------------------------------------------
1.Git branch : 一般用于分支的操作,比如创建分支,查看分支等等,
ps: 此命令操作的都是本地的分支
1.1 git branch : 不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记
1.2 git branch -r : 查看远程版本库分支列表
1.3 git branch -a : 查看所有分支列表,包括本地和远程
1.4 git branch “name” : 创建分支,创建分支时需要是最新的环境,创建分支但依然停留在当前分支
1.5 git branch -d “name” : 删除分支,如果在分支中有一些未merge的提交,那么会删除分支失败 (删除的只是本地仓库分支 存在于远程分支 使用此指令删除不了)
1.5.1 git branch -D “name” : 强制删除分支
1.6 git branch -vv : 可以查看本地分支对应的远程分支与最近一次的提交记录
1.7 git branch -m oldName newName : 给分支重命名
2.Git checkout : 操作文件 操作分支
ps:操作的是本地的分支
2.1 操作文件(使用以下命令会使文件重置到此分支最近一次提交的内容状态)
2.1.1 git checkout filename 放弃单个文件的修改
2.1.2 git checkout . 放弃当前目录下的修改
2.2 操作分支
2.2.1 git checkout master 将分支切换到master
2.2.2 git checkout -b master 如果分支存在则只切换分支,若不存在则创建并切换到master分支,,
2.3 查看帮助
git checkout --help
当然git checkout还有许多命令,但这些已经能满足我们日常开发所需
3. Git status:查看当前仓库状态
4. Git push : 用于从将本地的分支版本上传到远程并合并
4.1 git push origin <本地分支名>:<远程分支名> 如果本地分支名与远程分支名相同,则可以省略冒号和后面内容
git push origin master:master === git push origin master
4.2 git push --force origin master 本地版本与远程版本有差异,强制推送
4.3 git push origin --delete develop 删除远程的分支可以使用 --delete 参数 ps: 默认分支不支持删除
5. Git remote 用于在远程仓库的操作
5.1 git remote -v 显示所有远程仓库
-origin https://github.com/tianqixin/runoob-git-test (fetch)
-origin https://github.com/tianqixin/runoob-git-test (push)
5.2 git remote show 查看远程仓库名称 默认为origin名称
5.3 git remote show [remote] [remote]: 远程仓库地址
5.4 git remote rename old_name new_name 修改远程仓库名 ps: 修改的不是分支名称 一般仓库名为origin修改的是这个名称
5.5 git remote rm 仓库名称 解决与此仓库的关联
5.6 git remote add origin git@github.com:username/Hello-World.git 本地绑定此远程仓库
6. Git config :查询和修改配置
7. Git clone : git clone -b 分支名称 "https:xxxx"
-----------------------------------------------------------------------
团队git操作流程: ps: dev分支只是为了更安全的进行修改分支,而创建的新分支
1. 拉取远程分支master git clone
2. 在本地操作下,选择拉取下的远程分支master git checkout master
3. master分支下,创建新分支:git branch dev 并选中新分支 git checkout dev === git checkout -b dev
4. 将修改的bug或新增的功能,在dev分支上进行编辑
5. 编辑完功能后,选择需要合并的分支git checkout master
6. 在master分支下,合并dev分支修改到master分支上 git merge dev
7. 合并后,master分支上为最新修改的代码,测试无问题后 git push 提交到远程仓库
8. git branch -d dev 删除掉dev分支
错误:
- failed to push some refs to 'gitee.com/beijing_mi_…
- 解决 : 出现错误的主要原因是github中的README.md文件不在本地代码目录中 可以通过如下命令进行代码合并【注:pull=fetch+merge] git pull --rebase origin master 后可以看到本地代码库中多了README.md文件
- fatal: unable to access 'xxxxxxxx': The requested URL returned error: 400
- 原因: 1. 协议问题 2. 克隆的域名问题,更换成域名对应ip再次尝试
- 解决 :将克隆的git地址协议改为https或http再次尝试
- Failed to connect to github.com port 443 after 21079 ms: Timed out
- 原因: 克隆的域名问题,
- 解决 : 更换成域名对应ip再次尝试