程序员必会技能系列(2)git的使用-1

    xiaoxiao2021-03-25  89

    命名来源(from维基百科)

    林纳斯·托瓦兹自嘲地取了这个名字“git”,该词源自英国俚语,意思大约是“混账”。 “I’m an egotistical bastard, and I name all my projects after myself. First Linux, now git.”

    主要功能(from维基百科)

    git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

    实现原理(from维基百科)

    git和其他版本控制系统(如CVS)有不少的差别,git本身关心文件的整体性是否有改变,但多数的CVS或Subversion系统则在乎文件内容的差异。因此git更像一个文件系统,直接在本机上获取数据,不必连接到主机端获取数据。

    1、默认存放git密钥的地方

    l ~/.ssh

    2、生成密钥命令

    ssh-keygen -t rsa

    3、克隆项目

    git clone git@git.coding.net:ZAndy/PProject.git (SSH方式访问仓库)

    4、查看所有分支

    git branch

    5、创建一个分支

    git branch 分支名

    6、从当前分支创建新的分支,并且切换到newbranch2

    git checkout -b newbranch2

    7、切换分支

    git checkout 分支名

    8、上传新的分支

    (fatal: The current branch newbranch has no upstream branch.

    To push the current branch and set the remote as upstream, use

    git push --set-upstream origin newbranch

    9、创建一个新的文件并提交

    创建一个文件Branch.javagit add Branch.java git commit -a(同步到本地git仓库。必须要在打开的文件中输入内容,不然无法提交)git push(提交到远程git仓库)

    10、合并分支

    先切换到主分支 git checkout mastergit merge newbranchgit push

    11、提交当前修改的内容

    git commit -m story (必须在-m后面添加内容才能提交)

    12、HEAD指向当前节点的父节点或者更上一层

    git checkout master^

    13、git rebase,第二种合并分支的方法

    好处:可以创建一个更好的提交线路

    目标:把newbranch分支rebase到master上

    git checkout -b newbranch 创建一个newbranch分支,并切换到newbranchgit commit -m newbranchcommit 提交分支git checkout master 切换到master主分支git commit -m mastercommit 提交主分支git checkout newbranch 切换到newbranch分支git rebase master 合并到主分支

    14、Git目录

    在.git目录下存储着项目所有的历史和元信息的目录-包括所有的对象(commits,trees,blobs,tags),这些对象指向不同的分支。每个项目只能有一个.git目录。 HEAD —— 这个git项目当前处在哪个分支里config —— 项目的配置信息,git config命令会改动它description —— 项目的描述信息hooks/ —— 系统默认钩子脚本目录index —— 索引文件logs/ —— 各个refs的历史信息objects/ —— Git本地仓库的所有对象(commits,trees,blobs,tags)refs/ —— 标识你项目的每个分支指向了哪个提交(commit)。

    15、查看远程分支

    git branch -r

    16、拉取远程分支

    git checkout -b 本地分支名 origin/远程分支名

    17、 删除分支

    git branch -D 分支名

    18、恢复到某个版本

    git reset a326430 —hard (a326430是commit号)

    19、查看某次commit的修改内容

    git show

    20、查看某个文件的修改历史

    git log -p

    21、查看所有分支(本地和远程)

    git branch -a

    这是一个练习git命令的地方

    转载请注明原文地址: https://ju.6miu.com/read-17351.html

    最新回复(0)