零、本文纲要
一、Git工作流程图
二、Git基础操作指令
三、Git分支指令
四、Git远程仓库
tips:Ctrl+F快速跳转所需内容阅读
一、Git工作流程图
image.png- clone(克隆): 从远程仓库中克隆代码到本地仓库;
- checkout (检出):从本地仓库中检出一个仓库分支然后进行修订;
- add(添加): 在提交前先将代码提交到暂存区;
- commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本;
- fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少;
- pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge;
- push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库。
二、Git基础操作指令
- git init(初始化当前目录为1个Git仓库)
#Git bash窗口执行初始化指令
git init
image.png
- git add (工作区 --> 暂存区)
命令形式:git add 单个文件名|通配符
git add file01.txt
git add .
- git commit (暂存区 --> 本地仓库)
命令形式:git commit -m '注释内容'
git commit -m 'add file01.txt'
- git status(查看的修改的状态-暂存区、工作区)
git status
- git log(查看提交日志)
命令形式:git log [option]
常用option:
--all 显示所有分支;
--pretty=oneline 将提交信息显示为一行;
--abbrev-commit 使得输出的commitId更简短;
--graph 以图的形式显示。
git log --pretty=oneline --all --graph --abbrev-commit
tips:设置复杂指令别名
①打开用户目录,创建 .bashrc 文件
touch ~/.bashrc
②在 .bashrc 文件中输入以下内容
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
③打开gitBash,执行 source ~/.bashrc
source ~/.bashrc
- git reset(版本回退)
命令形式:git reset --hard commitID
git log、git reflog可以查看commitID - .gitignore文件(文件忽略列表)
在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
三、Git分支指令
- 查看本地分支
命令:git branch
git branch
- 创建本地分支
命令:git branch 分支名
git branch dev01
- 切换分支(checkout)
命令:git checkout 分支名
git checkout dev01
也可以实现:创建并切换
命令:git checkout -b 分支名
git checkout -b dev02
- 合并分支(merge)
命令:git merge 分支名称
一个分支上的提交可以合并到另一个分支,记得切换到最后合并要用的分支。
#一个分支上的提交可以合并到另一个分支
git checkout master
git merge dev01
- 删除分支
命令:git branch -d local_branch_name 删除分支时,需要做各种检查
git branch -D local_branch_name 不做任何检查,强制删除
不能删除当前分支,只能删除其他分支。
git branch -d dev01
# -D与-d的区别是:
#-D强制删除dev01如果有内容commit也会被删除
#-d删除会提醒先去merge
git branch -D dev01
四、Git远程仓库
- 添加远程仓库
命令: git remote add <远端名称> <仓库路径>
远端名称,默认是origin。
git remote add origin git@github.com***/git_test.git
- 查看远程仓库
命令:git remote
git remote
- 推送到远程仓库
命令:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
-f 表示强制覆盖
--set-upstream 推送到远端的同时并且建立起和远端分支的关联关系
git push --set-upstream origin master:master
#两条指令意思一样,本地分支与远端分支名相同,后面内容可省略
git push --set-upstream origin master
如果远程分支名和本地分支名称相同,则可以只写本地分支
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
#已经关联本地与远端分支,则可以直接 git push
git push
- 本地分支与远程分支的关联关系
命令:git branch -vv
git branch -vv
- 从远程仓库克隆
命令: git clone <仓库路径> [本地目录名]
git clone http://***/git_test.git git_test_01
#下面指令则会将本地目录默认命名为git_test
git clone http://***/git_test.git
- 从远程仓库中抓取和拉取
抓取 命令:git fetch [remote name] [branch name]
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并;
注意:如果不指定远端名称和分支名,则抓取所有分支。
拉取 命令:git pull [remote name] [branch name]
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge。
如果不指定远端名称和分支名,则抓取所有并更新当前分支。
五、结尾
以上即为Git基础相关内容,感谢阅读。
网友评论