`
luozhaoyu
  • 浏览: 347620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下git与github简单使用

阅读更多
个人觉得github蛮好用,但是帮助系统还是不够人性化,东一句西一句,让新手看着头晕。所以稍稍整理下主要的步骤。

首先是在github上创建一个账户:luozhaoyu
然后我个人的主页就是github.com/luozhaoyu了。
然后在github上创建一个test仓库,进行基本配置后需要在test仓库中添加可以提交代码的电脑的公钥。

这个公钥怎么生成呢?这就要转到我们PC这一边进行设定了。
在linux上有一个ssh-keygen的工具,使用命令
ssh-keygen -t rsa -C "committer_email@committermail.com"

设定存放目录和密码后把.ssh/id_rsa.pub的文件内容粘贴进github的test仓库里。
测试是否成功
ssh -T git@github.com

如果出现
引用
Agent admitted failure to sign using the key

则使用
ssh-add id_rsa

并输入passphrase

在本机安装git
apt-get install git


配置用户名和邮箱
git config --global user.name 'The Name'
git config --global user.email anyemail@mail.com

这个等效与home下.gitconfig文件中的
[user]                                                                          
>---name = LZY under Ubuntu with Hasee
>---email = luozhaoyu90@gmail.com
这里应该是随便配置用户名和邮箱都可以,这个事方便大家联系

成功后变在本机创建一个git仓库。
git init

在远程初始一个git仓库
git --bare init

新建一个文件夹test_git,在里面添加若干文件
git add *

提交并评论
git commit -m 'your comment'

设置github的仓库地址并取名为origin(可能可以取其它名字?)
git remote add origin git@github.com:luozhaoyu/test.git

最后把master提交到origin服务器上
git push origin master


复制一个git项目
git clone git://github.com/luozhaoyu/test.git

更新项目
git pull


创建一个分支
git init之后默认的分支叫做master,在commit之后可以使用
git branch
查看现在所在的branch分支
git branch newbranchname
创建一个新分支
git checkout branchname
切换到其它分支OOXX

回滚
引用

撤销本地commit
git reset --soft HEAD^
git reset HEAD .

这么做git log里也不会有痕迹

回滚有两种方法,一种是留痕迹的git revert
git revert cc3a9d3a5820b16bca3c1761efb5885b90371e94

这是通过又一次的commit中和之前不要的commit达到回滚的目的。所以revert后面跟着的commit-ish就是需要被回滚的那次commit的值

另一种是不留痕迹的,也就是时光机
git reset d5bb1731bf32fb62dc7eedc573da41fa31e27151 --hard
直接回到commit-ish那时的状态,之后发生了什么都不会出现在commit log里

建议使用checkout + merge代替回滚


撤销不小心pull之后造成的merge
git merge --abort





永久删除不小心commit的文件
https://help.github.com/articles/remove-sensitive-data
git filter-branch --index-filter 'git rm --cached --ignore-unmatch FOLDER/*' --prune-empty --tag-name-filter cat -- --all
git push origin master --force
# 完成上一步就以及删除了文件历史,注意要往每一个分支push,可以使用--all --tags
# 下面是在本地删除多余文件
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now


git-filter-branch
git filter-branch --force --tree-filter "find . ! -path './targetfolder/*' ! -path './.git*' ! -path './targetfolder' -delete" -- --all


查看commit的change
git show 91d71384d8f7592e206003047bb4f9c56f2a4caf
git log -p --color
git diff -p


查看所有在历史中的文件
git log --pretty=format: --name-only --diff-filter=A | sort -


http://pcottle.github.com/learnGitBranching/

git log --pretty=format: --name-only --diff-filter=A | sort -

未完待续……
分享到:
评论

相关推荐

    Git与Github.docx

    Git 与 Github 是两种在软件开发中至关重要的工具,它们为开发者提供了版本控制和协作的能力。Git 是一个分布式版本控制系统,而 Github 是一个基于云的平台,它为 Git 提供了托管服务,允许用户存储、共享和管理...

    利用git从github上拉取项目

    接下来,我们将使用**git bash**,这是一个模拟Linux命令行环境的工具,让你在Windows系统上也能方便地使用Git命令。安装Git后,它会自动包含Git Bash。打开Git Bash,你将在Windows环境下获得类似于Linux终端的体验...

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...

    Git与GitHub使用

    ### Git与GitHub使用详解 #### 一、Git简介与特性 **Git** 是一款非常流行的分布式版本控制系统,由Linus Torvalds于2005年为了更好地管理Linux内核开发而创建。与传统的集中式版本控制系统(如SVN)不同,Git的...

    2018尚硅谷Git和GitHub视频教程

    #### 五、Git与GitHub的结合使用 - **GitHub账号注册**: - 注册GitHub账号,用于在线管理Git仓库。 - **GitHub与本地Git的交互**: - 初始化本地库。 - 创建远程仓库。 - 使用`git push`和`git pull`进行数据...

    git及gitHub使用手册

    ### Git及GitHub使用手册 #### 一、版本管理工具与Git简介 - **版本管理工具的概念**:版本管理工具是一种帮助软件开发者管理源代码变化的系统。它通过追踪每次更改来确保项目的每个版本都能被记录下来,从而方便...

    git&github;学习笔记

    ### Git与GitHub学习笔记知识点详解 #### 一、Git版本控制系统概述 **1.1 Git简介** Git是一款分布式版本控制系统,由Linus Torvalds在2005年开发,用于Linux内核的开发。Git的主要特点包括支持离线开发、强大的...

    Git和Github使用简介(An introduction to Git and GitHub)

    ### Git和GitHub使用简介 #### 一、介绍:什么是Git和GitHub? Git是一种分布式版本控制系统,主要用于跟踪在软件开发过程中对文件所做的更改。这使得开发者能够轻松地回溯到以前的状态,同时也支持并行开发。 ...

    Git和GitHub教程

    ### Git和GitHub教程知识点梳理 #### 第1章:Git简介 **1.1 Git的诞生** - **背景**: Linus Torvalds 在2005年为了更好地管理和维护Linux内核项目的源代码,创造了Git。 - **特点**: 分布式版本控制系统,允许每...

    git和github使用说明示例

    在PPT和代码详解中,可能会涉及这些概念的实际操作步骤和示例,通过实际操作gittest文件,你可以更深入地理解Git和GitHub的使用。在学习过程中,建议动手实践,结合具体场景理解和掌握这些工具,以便在未来的工作中...

    git使用教程,学会使用git以及github远程仓库操作

    Git使用教程,学会使用git以及github远程仓库操作 本资源提供了一个详细的Git使用教程,涵盖了Git的基本概念、安装、配置、创建本地仓库、关联远程分支、删除远程分支关联、删除分支、git stash、git reset、git ...

    progit(Github入门).pdf

    作为程序员掌握Git与GitHub,意味着能够更好地管理和分享代码,参与开源项目,以及利用GitHub等平台寻找新的协作机会和工作机会。而对于企业而言,利用这些工具可以提升团队协作的效率,降低开发成本,并能更好地...

    Git、github与Xcode的配合使用

    Git是一个版本控制系统,由Linus Torvalds开发,最初用于管理Linux内核代码,后来发展成为几乎所有开发者都会使用的版本控制工具。它具有速度快、易用性高、支持多分支并行开发、完全分布式的特点。Git可以在不同...

    git和github配置与安装

    ### Git和GitHub配置与安装详解 #### 一、Git安装与配置 ##### 1、Git安装包 在开始安装Git之前,首先需要下载适合您操作系统(Windows、macOS或Linux)的安装包。官方推荐从Git官网...

    Git和Github简单教程1

    Git for Windows是Git在Windows平台上的实现,它提供了一个友好的图形用户界面(GUI)以及命令行工具,方便用户在Windows环境下使用Git。 在本地使用Git,首先要`git init`初始化一个仓库,或者`git clone`从远程...

    github, Git和GitHub集成用于 Atom.zip

    github, Git和GitHub集成用于 Atom Atom 软件包 Windows Mac Linux依赖项状态 Atom 包为 Atom 提供了Git和GitHub集成。 查看 github.atom.io 了解更多信息。

    git教程 github教程 附有图片

    Git是分布式版本控制系统的一种,由Linus Torvalds在2005年为Linux内核开发而创建。它被广泛用于软件开发,特别是在开源社区,因为它提供了强大的版本控制功能和协作能力。GitHub则是基于Git的一个在线平台,允许...

    Git-GitHub安装包.rar

    在Windows上,Git Bash提供了类似Linux终端的环境,让用户可以方便地使用Git命令。GitHub Desktop则为不熟悉命令行的用户提供了一个直观的图形界面,可以直观地查看文件差异、创建和合并分支、推送和拉取代码。 ...

Global site tag (gtag.js) - Google Analytics