命令如下:
-
- clone(克隆): 从远程仓库中克隆代码到本地仓库
-
- checkout (检出):从本地仓库中检出一个仓库分支然后进行修订(切换分支)
-
- add(添加): 在提交前先将代码提交到暂存区
-
- commit(提交):暂存区提交到本地仓库。本地仓库中保存修改的各个历史版本
-
- fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
-
- pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
-
- push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
Git常用命令
1. 基本使用:
初始化仓库:git init
修改或创建文件上传至暂存区:git add .
暂存区上传至本地仓库:git commit -m '提交记录'
查看文件状态:git status
查看提交日志:git-log
- 创建.bashrc文件,放至当前用户目录下即可使用命令别名
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
- 解决乱码问题
git config --global core.quotepath false
忽略提交文件:创建.gitignore
写入*.a则表明以.a结尾的文件不做提交
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
版本回退:git reset --hard commitID
- commitID使用
git-log
查询,如果需回到回退前的版本则使用git reflog
,这个指令可以看到已经删除的提交记录
2. 分支使用
创建本地分支:git branch 分支名称
查看本地分支:git branch
切换本地分支:git checkout 分支名称
创建并切换本地分支:git checkout -b 分支名称
合并分支(在目标分支上进行合并):git merge 分支名称
一般合并至master
删除分支(需要检查):git branch -d 分支名称
强制删除(当新分支修改后没有合并至master则会被认为是误操作):git branch -D 分支名称
解决冲突:合并时两个分支有相同文件,均已更改,需手动解决冲突。
-
master (生产) 分支
- 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
-
develop(开发)分支
- 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
-
feature/xxxx分支
- 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
-
hotfix/xxxx分支
- 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、 develop分支。
-
还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等 等。
3. 码云的使用
基本使用
- 生成SSH公钥
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
查看密钥- 在码云中生成公钥
- 验证
ssh -T git@gitee.com
是否配置成功
出现:
$ ssh -T git@gitee.com
Hi 一世安呀! You've successfully authenticated, but GITEE.COM does not provide shell access.
则配置成功!
- 将本地仓库推至远程仓库
- 远程仓库的ssh地址:------------------
- 本地仓库对应的远程仓库:
git remote add 远程仓库名称(一般为origin) 远程仓库的ssh地址
- 查看远程仓库:
git remote
- push:
git push 远程仓库名称 master
,将本地master推送至远程仓库
推送命令:
git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
-
如果远程分支名和本地分支名称相同,则可以只写本地分支
-
git push 远程仓库名称 master
-
-f 表示强制覆盖
-
–set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。(可以不用)
git push --set-upstream 远程仓库名称 master
-
如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
-
使用
git branch -vv
查看绑定关系 -
使用
git push --set-upstream origin master:master
,下次可以直接使用git push
命令
-
-
git push 将master分支推送到已关联的远端分支。
克隆使用
git clone ssh地址
即可将项目copy到本地
从远程仓库中抓取和拉取
-
抓取 命令:
git fetch [remote name] [branch name]
-
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
-
如果不指定远端名称和分支名,则抓取所有分支。
-
-
拉取命令:
git pull [remote name] [branch name]
- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于
fetch+merge
- 如果不指定远端名称和分支名,则抓取所有并更新当前分支。
- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于