ubuntu下git的使用

本文总结了Git的基本操作,包括创建仓库、文件状态查看、修改对比、暂存区管理、提交记录、版本回退等,并详细介绍了远程仓库的关联、推送及分支、标签的管理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次的博客内容是对廖雪峰的git教程的集中,为了自己以后对于git命令的查询。

  1. git创建仓库
    在对应的文件下使用命令git init即可
  2. 查看仓库中的文件状态
    git status
  3. 比对文件的修改的命令
    git diff
  4. 将文件加入暂存区命令
    git add < filename>
    也可使用 git add –a将所有的修改过的文件一次性提交
  5. 要将修改真正的管理起来需要使用命令commit将修改提交
    git commit -m ‘本次提交的描述’
  6. 可以通过log命令来查看git的操作历史
    通过加上 –pretty=online以及 –abbrev-commit可以使显示根据紧凑好看
  7. 当需要回退到之前的某个版本是则需要用命令reset
    使用HEAD来指向当前的branch的最新的commit,HEAD^可以用来表示最新的提交之前的一个提交,以此类推还有head^^,为了防止之前回退的版本太靠后,需要许多^,如果要回退100个版本,则可用HEAD~100表示。
    命令格式有 git reset –hard HEAD
    或者 git reset –hard commit的编号(前几位就行,只要能唯一确定即可)
  8. 如果回退到之前的版本后使用git log无法查看到之前的提交信息,为了得到之前的提交标号需要使用relog
    git relog记录每次的操作,通过他们可以找到想要在回退版本之前的提交编号,然后使用git reset命令来回退到回退到本版本之前的那个版本,从而防止了回退版本错误带来的问题。
  9. 撤销修改
    git checkout – readme.txt可以撤销掉工作区的修改,
    git reset HEAD readme.txt撤销暂存区的修改
  10. 删除文件
    对于在硬盘中删除了文件有两种处理方式
    1. 恢复到删除之前的用git checkout –文件来撤销工作区的删除修改
    2. 使用git rm filename, 然后commit
  11. 远程仓库
    为了将本地仓库与远程仓库同步,必须先将本地仓库与一个远程仓库关联起来。使用的命令如下:
    git remote add origin(这个名字可以更改,为远程仓库的别名) git@github.com:yourgithubaccount/repositoryname.git
    如果别名添加错误可以使用 git remote rm origin将这个别名删除(本例子中origin即是别名,根据自己的别名替代)
    接着通过git push -u origin(与关联是指定的名字一样) master即可完成推送
    如果远程库比本地库新,则此次的推送不会成功,需要通过git pull将远程库拉取的本地,完成合并后才能进行push。如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name
  12. 克隆远程库
    git clone git@github.com:youraccount/repositoryname.git
  13. 分支操作
    通过git brach可以查看库中现在有哪些分支。
    创建分支:git branch < name>
    切换分支:git checkout < name>
    创建+切换分支:git checkout -b < name>
    合并某分支到当前分支:git merge < name>
    删除分支:git branch -d < name>
    用git log –graph命令可以看到分支合并图。
    如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
    git merge –no-ff -m “merge with no-ff” dev
    如果分支还没合并,想要删除分支则必须要强制删除git branch -D feature-vulcan
  14. 存藏当前的工作环境一个使用场景
    git stash
    恢复现场,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
    另一种方式是用git stash pop,恢复的同时把stash内容也删了
    使用git stash list可以查看所有的stash,然后可以git stash apply stash@{0}来恢复指定的stash
  15. 远程库
    查看远程库信息: git remote
    推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上。如:git push origin dev
    要在dev分支上开发,就必须创建远程origin的dev分支到本地。如:git checkout -b dev origin/dev
  16. 标签
    创建标签 :git tag v1.0
    默认标签是打在最新提交的commit上的,也可通过指定commit编号来为过去的commit打标签如:
    git tag v0.9 6224937
    创建带有说明的标签,用-a指定标签名,-m指定说明文字.如:git tag -a v0.1 -m “version 0.1 released” 3628164
    查看标签: git tag
    查看标签信息:git show tagname
    删除标签: git tag -d v0.1(v0.1为标签名)
    如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除git tag -d v0.1(v0.1为标签名)然后从远程删除。删除命令也是push,但是格式如下:git push origin :refs/tags/v0.9
    创建的标签都只存储在本地,如果要推送某个标签到远程,使用命令如下:
    git push origin v1.0(v1.0为标签名)
    一次性推送全部尚未推送到远程的本地标签:git push origin –tags
  17. 通过配置.gitignore文件来忽略一些文件和文件夹:
    我们可以在home文件夹下建立.gitignore文件来为所有的仓库配置忽略的文件,也可以为某个仓库建立.gitignore文件来这个仓库定义忽略规则。
    如果我们想要管理的文件被忽略了,我们可以通过git check-ignore -v App.class来查看是哪条规则导致的:你确实想添加该文件,可以用-f强制添加到Git:git add -f App.class

在这里提供一些我自己使用的忽略规则。
由于我是用pytcharm编程的,在每个项目文件夹会产生一个.idea文件夹,此文件夹不需要管理,所有我加入了*.idea/的规则来忽略该文件。/表示这个规则是针对文件夹的。
如果要忽略所有pyc结尾的文件,则加入 *.pyc。这些忽略规则都是通过正则表达是来实现的。我们可以根据自己的需要添加忽略规则。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值