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连接

  略

 

补丁操作(就是在两个不同分支间执行简单的合并操作)

  略

 

posted @ 2020-12-19 11:58  KnowledgePorter  阅读(26)  评论(0)    收藏  举报