小白第一次使用Git随笔

  想研究Git很久了,一直没有找到很好的博客或论坛,近几天工作项目任务没有那么重,就想着找几篇文章把这玩意儿给解决掉,本博客是记录读廖雪峰老师所写的《Git教程》的随笔,以便巩固学习,若想学习到更详细的教程,请到廖老师的文章学习。

  1. 安装Git。这个自然不用多说了,笔者用的是Window系统,直接下载一个Git,然后下一步下一步安装就行了。
  2. 安装完成后,在cmd命令行中执行两个命令:第一个是git config --global user.name "你的用户名";第二个是git config --global user.email "你的邮箱";之所以执行这两个命令是因为Git是分布式的,需要每台机器标识出自己的机器名;参数global是指这台机器上所有的仓库都使用这个配置。注:若使用cmd执行这两个命令出错的话,可在应用程序(也就是开机-所有程序)中找到刚才安装的Git文件夹点击打开Git CMD,在这个命令行工具中执行刚才的两个命令。
  3. 创建版本库。所谓的版本库,其实也就是一个文件夹,例如我在C盘创建一个名叫GitRepository的文件夹,然后点着shift键右鼠标-选择在此处打开命令行,或者打开cmd然后cd到这个目录下,执行git init命令,把这个目录变成Git的管理仓库。新建一个文件在这个目录下,例如新建一个readMe.txt文档。然后执行git add readMe.txt命令让这个文件被git所管理,这个命令执行结束后没有任何提示是正确的;然后执行git commit -m "版本说明信息"
  4. 理解几个概念问题:工作区即当前目录,当执行完init命令后,该目录下会多出一个.git文件夹叫版本库,此版本库里有两个比较重要的东西,一个叫暂存区(Stage)一个是git自动为我们创建的master分支以及指向master的一个指针叫HEAD;当多次执行add时,git的操作是把所add的内容放入暂存区,当执行commit时git会把内容放入分支中。
  5. git status查看本仓库中各文件信息的状态;git diff 文件名   比较一个文件变化的记录。
  6. git log显示从最近到最远的提交信息,如果不想一次性看那么多,可以加--pretty=oneline这个参数。
  7. 版本回退,git中HEAD表示当前的版本HEAD^表示上一个版本,HEAD^^表示上上一个版本,如果想返回到第100个版本,可以使用HEAD~100。回退到上一个版本的命令git reset --hard HEAD^;指定回到某一版本可以用commit id进行回退,commit id就是在git log中看到的那一串字符串,不必写完,只需要写前几位就可以查到了,命令是:git reset --hard id号。如果从HEAD回退到commit id,这个时候在git log中便看不到了HEAD,若想再回到HEAD,可以用git reflog查看每一步的操作,找到commit id然后回退回去。
  8. git checkout -- file,回滚工作区的修改。如果该文件已commit,则回到暂存区时的状态,若该文件在暂存区,则回到工作区即没有进行修改之前的状态。此命令的--很重要,若没有的话表示切换分支。git reset HEAD file把暂存区的修改撤消掉,重新回到工作区。
  9. git rm删除版本库中的文件,然后执行git commit.
  10. 远程仓库GitHub。因为Git与GitHub之间的传输通过SSH协议,所以需要生成SSH密钥,生成方式在Git Bash里执行
    ssh-keygen -t rsa -C "[email protected]"命令
    命令会在指定的盘符下生成一对公私密钥,把pub密钥中的内容复制到GitHub的Account Setting里可以推送文件到GitHub了;
    若有多台电脑需要上传文件到GitHub上,可以添加多个公钥到Account Setting上。
  11. 添加本地仓库内容到远程GitHub上
     git remote add origin git@github.com:GitHub账户名/远程仓库名.git origin为GitHub默认的远程仓库名,可修改,通过此便可把本地仓库与远程仓库关联起来

    通过以下命令可以把本进仓库内容推送到远程仓库上

    git push -u origin master
  12. 从远程库克隆仓库到本地
    git clone git@github.com:GitHub账户名/需要克隆的库名.git
  13. 创建分支
    $ git checkout -b dev其中的-b参数表示创建分支并把当前分支切换为新创建的分支,相当于git branch dev;git checkout dev;两个命令的集合;
  14. 查看分支:git branch会以列表的形式把所有分支都列出来,并在当前分支的前面加一个“*”号
  15. 合并分支:git merge 分支名;通过这种方式合并的形式是Fast_Forward模式
  16. 删除分支:git branch -d 分支名
  17. 查看分支合并图:git log --graph
  18. 分支策略:在合并分支的时候添加--no-ff来禁用Fast_forward模式,可以看到曾经有合并过分支的历史记录
     git merge --no-ff -m "merge with no-ff" dev
  19. Bug分支:当正在开发一个任务,还没有完成的时候,有一个Bug需要修改,此时要把当前进行的工作储存起来,可用git stash命令;然后从需要修复Bug的分支上如master分支上创建临时分支,先切换到master分支,然后创建临时分支,如git checkout -b issue-101;修复完成后切换到master分支上,然后把issue-101分支合并到master分支上;回到刚才的储存工作空间,用git stash list查看储存的列表;恢复刚才的存储用git stash apply但是此时stash并没有删除,若想删除可以用git stash drop;这两个命令可以用git stash pop来代替;也可多次stash,然后用git stash list来查看stash列表,然后用
    git stash apply [email protected]{0}来恢复具体的某一个stash
  20. Feature分支:每添加一个新功能,为了不搞乱master分支,可以新建一个Feature分支,当开发完成后合并到master分支,然后删除该featrure分支;但当没合并分支时,此功能又不需要了,此时用
    git branch -D 分支名   删除该分支,注意D必须大写
  21. 查看远程库的信息用:git remote命令,若想查看更详尽信息可加上-v参数
  22. 推送分支就是把本地该分支上的信息推送到远程库上:git push origin master,若想推送到dev上则把master改为dev就行了
  23. 多人协作的工作模式通常是这样:
    1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
    2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    3. 如果合并有冲突,则解决冲突,并在本地提交;
    4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

    这就是多人协作的工作模式,一旦熟悉了,就非常简单。

  24. git rebase命令可以把提交的分叉记录整理成一条线
  25. git给每个版本打标签:首先切换到需要打标签的分支上,然后使用git tag 标签名打标签,可以使用git tag查看所有的标签;查看所有的提交记录命令:
    git log --pretty=oneline --abbrev-commit;对某一个提交ID打标签:git tag 标签名  CommitID;可以用git show 标签名来查看标签的详细信息;还可以添加两个参数
    -a 标签名,-m 说明文字信息,如:git tag -a 标签名  -m "打了一个标签" CommitID
  26. 删除标签:git tag -d 标签;因为标签是打在本地的,所以可以直接删除,若想把标签推送到远程仓库,可以用git push origin 标签名或一次性推送全部标签到远程仓库:git push origin --tags;要删除远程标签比较麻烦,需要先删除本地标签,然后再删除远程的标签,命令是:git push origin :refs/tags/标签名
  27. 自定义git字体颜色:git config --global color.ui true
  28. 忽略特殊的不想提交的文件:在git仓库下创建一个.gitignore文件,然后把需要忽略的文件名添加进去,然后把这个.gitignore文件提交;这个时候如果想提交在这个名单中的文件到远程仓库中,可以用:git add -f 文件名 进行强制提交;
    git check-ignore -v App.class  检查ignore文件中哪个规则出了问题

原文地址:https://www.cnblogs.com/zw971084570/p/9936102.html

时间: 2024-12-12 04:33:00

小白第一次使用Git随笔的相关文章

第一次使用Git上传本地项目到github上

对于程序原来说都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术.因为自己在刚刚开始使用Git把自己写的一些小dome放到GitHub上遇到许多的坑,这么长时间过去了,想对第一次使用Git上传代码做一下总结,以免使自己忘记. 1.下载Git软件:https://git-scm.com/downloads,据说ios自带的有git软件,这个我就不太清楚了. 2.下载之后安装就很简单了,一路下一步就可以了.安装完成后鼠标右击和者开始->程序会出现,打开Git Bash,进入bash

Android Studio第一次提交git使用

安装: Git客户端网址:http://git-scm.com/download/ 根据自己的使用平台下载对应的客户端.这里以Mac系统为例,当客户端软件安装配置完毕后,打开AS的配置面板,找到Git的选项 在右边的 Path to Git executable 找到Git的可执行程序,点击右边的Test按钮. 出现下图的提示证明我们已经配置成功. 我的网络很慢,所以没有用github,而是使用国内git.oscchina.net ,下面是在AS中链接oscchina的过程,我也不是很会,步骤有

第一次使用Git心得体会

用书本上的概念讲,Git是一个分布式的版本控制工具,每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,能够不依赖于网络和中心服务器.也就是说Git能够不需要服务器而在随意的Linux机器上管理代码,其实这也是它的优势所在,我对Git的认识不深,单从课堂上老师的只言片语便可以了解到它的深奥,我的学习之旅也才刚刚开始. 使用Git之后,我才逐步了解到Git的管理是在本地建立储存仓库,换句话说,代码与管理仓库是形影不离的,这种方式可以在某种程度上减轻服务器的负担. 我

初学Git随笔

学习Linux一年多了,不过系统地对Git进行学习还是第一次. 首先得知道Git是什么,Git是目前世界上最先进的分布式版本控制器. 接下来就是怎么使用了,不过在使用之前还需要安装Git,在Ubuntu Linux下都已经自带了Git,不过还是需要从基本功学起.在Ubuntu Linux终端下可以使用以下命令来安装Git: # apt-get install git #apt-get install git-doc git-svn git-email git-gui gitk 第一条语句是Git

第一次结识Git和Github

这是我第一次结识到git 跟github,说实话,我现在头都有点晕,通过这次学习使用git,我了解到这个程序可以保存各种资料,通过本地仓库跟远程仓库的连接,但是说实话,我到目前为止还没有感受到作为软件技术人员保存资料的重要性,可能是我现在编译开发的项目还是太少了吧,平时编写的代码都是直接保存在电脑上:通过这一次的学习,我学会了一种新的保存资料方式,还是很有收获的,以后我会试着把重要的资料保存在github上的. Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源

第一次使用Git

这次的作业是关于GIT的,一开始我并不知道GIT是啥,百度了一下才知道Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.第一次使用这东西有不少的麻烦,还好作业里给了图文指导,加上同学的帮助,总算完成了GITHUB的注册和仓库关联等操作.总的来说,这是一个对于我们以后程序开发有着很大帮助的软件,学会使用它对我们意义很大. 我的GitHub地址:ht

【Git】安装以及第一次使用Git和GitHub傻瓜教程

以前有用过,但是比较少,这次师兄希望我们的项目代码都上传到github,新来的师弟师妹不会用github,就让我给科普一下,让他们能上手.刚好我刚刚重装系统,从零开始安装git以及第一次push代码到github的过程就记录下来: 1.下载安装git(windows7) 下载git:https://www.git-scm.com/download/win 点击exe文件一路next就可以. 2.配置(参考:http://git.oschina.net/progit/1-%E8%B5%B7%E6%

第一次博客随笔 吴为橦

写博客随笔的意义,其实就和记录美好生活差不多,想到什么写什么.关于Python这是上了大学以来学到的第四种计算机语言了.对于一个还没将之前的东西学透的人来说可以说是相当难学了. 废话不说,首先要知道Python才能够对于之后的学习更有帮助.Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发.它的发展历程可以说是很短了,在20世纪90年代的时候才创建出来模板.

第一次配置git

github:托管很多代码  开源     非常棒学习网站----------------------------------------https://github.com/ -> 注册用户 -> 弹出一个小黄条(验证邮箱)->    点击头像下面->settings->emails->另一个邮箱验证(为了以后个人网站)----------------------------------------仓库(目录) github每一个仓库建议:    包含:    REA