git命令笔记

工作区是创建的空目录,暂存区是空目录里面的 .git仓库,文件只有先被add到.git仓库,才能再被commit到master分支

总结所有命令如下:

1.自报家门:
$ git config --global user.name “Your Name”
$ git config --global user.email "email@example.com"

2.创建空目录 :
$ mkdir directoryName
$ cd directoryName【directoryName修改成目录名称】
$ pwd

3.将该目录变成Git可以管理的仓库: $ git init

4.将写好的并保存在该目录下的文件提交到暂存区:
$ git add fileName
【fileName修改成文件名称,例如readme.txt】

5 将提交到暂存区的文件提交到分支: $ git commit -m "explain this commit"

6 查看仓库当前的状态: $ git status

7 查看对文件具体修改的内容: $ git diff flieName

8 显示从最近到最远的提交日志: $ git log

9 显示简洁一点的从最近到最远的提交日志: $ git log --pretty=oneline

10 回退到上一个文件版本: $ git reset --hard HEAD^

11 回到任一版本:
$ git reset --hard commit_id【commit_id需要修改成文件提交时的版本号】

12 查看文件内容 : $ cat fileName

13 显示每一次命令: $ git reflog

14 查看工作区和版本库里面最新版本的区别: $ git diff HEAD – fileName

15 撤销工作区的修改: $ git checkout – fileName

16 撤销暂存区的修改: $ git reset HEAD fileName

17 删除工作区的文件: $ rm fileName

18 删除暂存区的文件: $ git rm fileName

远程库

19 创建SSH Key :
$ ssh-keygen -t rsa -C"youremail@example.com"
《引号里面例如:2026214922@qq.com》

20 关联远程库 :
$ git remote add origin git@github.com:yourAccount/fileName.git
《其中yourAcconut是你在github上面注册的账户,learngit是在github上面创建的仓库名》

【注意】使用此命令时先要进入到git可以管理的仓库即.git所在的目录下
查看远程库的信息:git remote -v

21 将本地库的内容推送到远程库 : $ git push -u origin master

22 从远程库克隆到本地库 : $ git clone git@github.com:yourAccount/fileName.git

分支管理

Git鼓励大量使用分支,在团队开发中应该充分应用。
合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
23 查看分支: git branch
24 创建分支: git branch branchName【其中的branchName是取得分支名】
25 切换分支: git checkout branchName
26 创建+切换分支: git checkout -b branchName
27 合并某分支到当前分支: git merge branchName
28.合并某分支到当前分支,加上–no-ff参数,表示禁用Fast forward:
git merge --no-ff -m “explain this merge” branchName
28 删除分支: git branch -d branchName
29 查看分支合并图: git log --graph
或者 git log --graph --pretty=oneline --abbrev-commit

修复文件Bug时
  1. 把当前工作现场“储藏”起来: git stash
  2. 显示存储的工作现场内容: git stash list
  3. 恢复工作现场:
    git stash apply
    git stash drop

    或者用一步:git stash pop
  4. 恢复指定的stash list内容: git stash apply stash@{0}
  5. 丢弃一个没有被合并过的分支,进行强行删除: git branch -D branchName
多人协作的工作模式步骤

35.首先推送自己的修改: git push origin branchName
36.如果推送失败,则因为远程分支比你的本地更新,就进行合并:
git merge branchName
35. 如果合并有冲突,则解决冲突:
git merge --no-ff -m “explain this merge” branchName
36. 并在本地提交,用add 和commit相关命令
37. 没有冲突或者解决掉冲突后再进行推送:git push origin branchName
38. 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建:git branch --set-upstream-to branchName origin/branchName

标签管理:

41.把本地未push的分叉提交历史 整理成直线: git rebase
42 用于新建一个标签,默认为当前版本HEAD贴标签,也可以指定一个commit id:
git tag tagName
或者 git tag tagName commit_id
43 创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -a tagName -m “explain this tag” commit_id
43 查看所有标签: git tag
44 查看标签信息: git show tagName
45 == 删除标签:== git tag -d tagName
46 推送某个标签到远程: git push origin tagName
47 一次性推送全部尚未推送到远程的本地标签: git push origin --tags
48 删除一个远程标签:
先从本地删除: git tag -d tagName
从远程删除: git push origin :refs/tags/tagName

自定义git

忽略某些文件时,需要编写.gitignore;
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

49 Git显示颜色: git config --global color.ui true
50 强制把在.gitignore文件夹里面的文件即会忽略的文件添加到git:
git add -f fileName
51 如果.gitignore写得有问题,需要找出来到底哪个规则写错了:
git check-ignore -v fileName

52 如果想偷懒少拼写命令,可以给命令配置别名git config --global alias.newOrder oldOlder
【每个仓库的Git配置文件都放在.git/config文件中】
53可以查看配置文件里的内容: cat .gitconfig
别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。
而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中
详情参考:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375234012342f90be1fc4d81446c967bbdc19e7c03d3000
53git显示颜色分明的提交历史时:
git log --color --graph --pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ --abbrev-commit"
参考教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值