LInux-git使用
which git 查看是否安装了git
在debian 上安装git: apt-get install git
clone:
主目录创建project_name/.git目录(本地文件仓库),这个目录的文件是中央仓库签出的文件,
创建工作区
创建暂存区,本地修改在提交到本地文件仓库之前,这些修改保存在暂存区里
在完成所有修改并暂存所有文件之后,就可提交到本地仓库了,向中央仓库签入新版本才叫推送。
选择仓库主机:
github
gitlab
配置git
基本设置:(只要执行提交操作,名字和邮件就会包含在元数据中)
git config --global user.name "username"
git config --global user.email "youremailaddress"
工作目录中的任何文件都不受版本控制,因为是工作目录,要把文件发放如本地仓库,先添加到暂存区(git add),再提交到本地文件仓库(git commit)
最后(push)推送到服务器文件仓库
使用git管理文件
设置默认编辑器
git config --global core.editor vi
查看当前配置
git config --list
查看当前工作状态
git status
让git忽略文件
在工作区目录创建一个.gitignore文件,在把想忽略的文件名称放到这个文件,注意.gitignore本身也要放到.gitignore文件中
/mtk/ 过滤整个文件夹 *.zip 过滤所有.zip文件 /mtk/do.c 过滤某个具体文件
以上规则意思是:被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传。
删除文件
如果已经commit 了某个文件,仅仅在工作目录中rm这个文件是不够的,使用git rm 文件名 暂存要删除的文件,最后使用git commit 从文件仓库删除文件
处理分支
创建一个test分支
git branch test
切换到test 分支
git checkout test
查看在不同分支上做的修改:
git log --online --decorate --all
--online让git log 提供对每次修改的在线总结
--decorate给出其他信息,如分支名称
--all 显示所有分支信息
推送test分支到中央文件仓库(联想到推送修改的中央服务器git push -u origin master)
git push -u origin test
管理文件差异
git diff
处理空白字符
重要选项 --check 可查找空白字符
比较分支master和test
git diff --name--status master..test
更容易看懂差异
git difftool 文件名
合并分支
略
管理文件仓库
查看远程文件仓库位置
git remote -v
要访问另一个项目,可以是哟个 git remote add 命令
例如 git remote add docs https://gitubxxxxxxxxxx.git
docs表示想如何引用这个远程文件库
最后一个参数表示远程文件仓库的URL路径
添加了远程文件仓库后可以使用git clone对其克隆
cd ..
git clone https://xxxxxxxxxx.git
从远程服务器获取内容
pull 远程仓库更新到本地仓库并合并到工作目录
rebase:将分支的所有修改应用到当前分支
fetch:只从远程文件仓库更新到本地文件仓库,还需要checkout才能使得工作目录包含分支最新版本
checkout: 从本地文件仓库更新到本地工作目录
经由ssh连接
略
补丁操作(就是在两个不同分支间执行简单的合并操作)
略

浙公网安备 33010602011771号