Git流程图

Git的基本使用_github

命令:

1. clone(克隆):从远程仓库中克隆代码到本地仓库
1. chechout(检出):从本地仓库中检出一个仓库分支然后进行修订
1. add(添加):在提交前检代码提交到暂存区
1. fetch(抓取):从远程仓库抓取到本地仓库,不进行任何的合并操作,一般不用
1. pull(拉取):从远程仓库拉到本地仓库,自动进行合并(merge),然后放到工作区,相当于fetch+merge
1. push(推送):修改完成后,需要和团队共享代码时,将代码推送到远程仓库

Git基本配置

​git config --global user.name "myname"​

​git config --global user.email "hello@qq.com"​

为常用指令配置别名

  1. ​touch ~/.bashrc​
  2. 在.bashrc输入
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
alias ll='ls -al'
  1. 执行​​source ~/.bashrc​

获取本地仓库

​git init​

基础命令

Git的基本使用_远程仓库_02

添加到工作区add

​git add file|通配符​

提交到本地仓库commit

​git commit -m '注释'​

查看修改状态status

​git status​

查看提交日志log

​git log [option]​

option:

+ --all 显示所有分支
+ --pretty=oneline 将提交信息显示为一行
+ --abbrev-commit使得输出commitId更简短
+ --graph以图的 形式显示

版本切换

​git reset --hard commitID​

​git reflog​​查看已经删除的提交记录

分支

查看本地分支

​git branch​

创建本地分支

​git branch 分支名​

切换分支

​git checkout 分支名​

​git checkout -b 分支名​​ 切换到一个不存在的分支(创建并切换)

合并分支

​git merge 分支名称​

删除分支

不能删除当前分支,只能删除其他分支

​git branch -d b1​​删除分支时,需要各种检查

​git branch -D b1​​不做检查,强制删除

Git远程仓库

配置SSH公钥

  • 生成SSH公钥
  • ​ssh-keygen -t rsa​
  • 不断回车
  • Gitee设置账户公钥
  • ​cat ~/.ssh/id_rsa.pub​​获取公钥
  • 粘贴公钥
  • 验证

​ ​​ssh -T git@gitee.com​

添加远程仓库

此操作时先初始化本地库,然后与创建的远程库对接

​git remote add <远端名称><仓库路径>​

  • 远端名称,默认是origin,取决于远端服务器设置
  • 仓库路径,从远端服务器获取的URL

​eg:git remote add origin git@gitee.com:czbk_zhang_meng/git_test.git​

查看远端仓库

​git remote​

推送到远程仓库

​git push [-f][--set-upstream][远端名称[本地分支名][:远端分支名]]​

  • 如果远端分支名和本地分支名相同,则可以只用写本地分支名

​ ​​git push origin master​

  • -f 强制覆盖
  • ​--set-upstream​​推送到远端的同时并建立和远端分支的关联关系
  • 如果当前分支已经和远端分支关联,则可省略分支名和远端名

Git的基本使用_git_03

查看本地分支和远程分支的关联关系

​git branch -vv​

Git的基本使用_推送_04

从远程仓库克隆

​git clone <仓库路径>[本地目录]​

从远端仓库抓取和拉取

  • 抓取 ​​git fetch [remote name][branch name]​
  • 抓取是将仓库里的更新都抓到本地,不进行合并
  • 如果不指定分支名,则抓取所有分支
  • 拉取​​git pull [remote name][branch name]​
  • 拉取是将远端仓库的修改拉倒本地并进行合并​​=fetch+merge​
  • 如果不指定远端名和分支名,则抓取所有并更新当前分支

里的更新都抓到本地,不进行合并
+ 如果不指定分支名,则抓取所有分支

  • 拉取​​git pull [remote name][branch name]​
  • 拉取是将远端仓库的修改拉倒本地并进行合并​​=fetch+merge​
  • 如果不指定远端名和分支名,则抓取所有并更新当前分支