学习git记录

一:基础命令

1:git init
//git init;将当前目录变成git可以管理的仓库,使用此命令之后,文件夹下会出现.git文件夹(默认隐藏),可以使用ls -ah来查看

2:git add

//git add 【file】;将【file】添加到仓库

3:git commit

//git commit -m “some comments”;提交改动,-m后面的是本次提交的说明

4:git status

//git status;查看仓库目前的状态

5:git diff

//git diff -- 【file】;比较工作区和暂存区的【file】有什么区别

//git diff --cached --【file】;比较暂存区和仓库分支中的区别

//git diff HEAD -- 【file】;比较工作区和仓库分支中的区别

1.git diff commit_id_1 commit_id_2 用来比较2个commit之间区别

2.git diff 检查的是工作区与暂存区的差异【没add之前】

3.git diff --staged 暂存与仓库的差异【add之后,commit之前】

6:git log

//git log;显示仓库从最近到最远的提交日志

//git log --graph;图形显示log

//git log --pretty=oneline;一行显示

7:git reflog

//git reflog;显示和仓库相关每一次命令

8:git reset

//git reset --hard 【commit_id】;将仓库分支中的替换掉暂存区中的,工作区也会被替换,其中可以使用HEAD代表当前版本,HEAD^代表上一版本,也可以使用HEAD~1

//git reset --hard 【tagname】;这个也行

//git reset HEAD 【file】;将仓库分支中的替换掉暂存区中的,工作区没有影响,注意此处比上面那条少了--hard

9:git checkout

//git checkout -- 【file】将缓存区中的替换掉工作区中的

10:git rm

//git rm 【file】和git add对应

二:SSH生成

1:ssh-keygen -t rsa -C "youremail@example.com"

//执行此命令之后,可以再用户目录中找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

三:远程命令

1:git remote

1:git remote add 【name】【addr】;其中name代表远程库的名字,一般起名为origin,addr代表地址,可以使用SSH或者HTTPS;例如git remote add origin git@github.com:youraccount/repository.git

2:git remote,显示当前有的远程库

3:git remote -v;显示远程库更详细的信息

2:git push

1:git push -u 【name】【branch】;其中name代表远程库的名字,branch代表分支;例如git push -u origin master,其中-u参数不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,以后提交可以:git push origin master,一般是创建的时候弄,clone不需要

2:git push 【name】【branch】;向为name的远程库推送branch分支

3:git push 【name】-d 【branch】;将远程库为name的branch分支删除

4:git push【name】【tagname】;向为name的远程库推送名为tagname的标签

5:git push 【name】--tags;向为name的远程库推送所有的标签

6:git push 【name】【空格】【冒号】【branch/tagname】;向为name的远程库用空的替换掉【branch/tagname】,即删除相应的branch或者tag,不需要路径也可以;

3:git clone

//git clone【addr】,复制addr到本地,可以使用SSH或者HTTPS,例如git clone git@github.com:youraccount/repository.git

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin

4:git pull

1:git pull;拉取最新的当前分支

四:分支命令

1:git branch

1:git branch 【branchname】;创建一个新的branch,名字为“branchname”

2:git branch;显示当前分支

3:git branch -d 【branchname】;删除分支,有时候没合并的话会提示没有合并,确定需要删除的话使用“-D”

4:git branch --set-upstream-to=【name】/【branchname1】【branchname2】;将远程库为name的branchname1分支和本地的branchname2分支关联起来

2:git checkout

1:git checkout -b 【branchname】;创建一个新的branch,名字为“branchname”,并切换到“branchname”这个分支,如果分支已存在,则此条命令提示失败

2:git checkout 【branchname】;切换到“branchname”,如果分子不存在,则提示失败

3:git checkout -b 【branchname1】【name/branchname2】创建分支branchname1,并和远程库的branchname2关联起来,关联之后可以使用git push 【name】【branchname】直接推送

3:git merge

1:git merge 【branchname】;将branchname合并到当前分支,其中的Fast-forward信息代表这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。但这种模式下,删除分支后,会丢掉分支信息

2:git merge --no-ff -m 【comments】 【branchname】,不要使用Fast-forward模式合并

4:git stash

1:git stash;保存当前工作区

2:git stash apply 【stashindex】;使用stashindex,注意如果当前的stash中的内容和当前工作区的内容有冲突的话会提示冲突,需要手动修改

3:git stash drop 【stashindex】;删除stashindex

4:git stash list;有哪些

5:git stash pop;使用最近一次并删除

5:git cherry-pick

1:git cherry-pick 【commit_id】选择commit-id提交一次,如果当前的状态是有更改没有提交会提示

hint: commit your changes or stash them to proceed.
fatal: cherry-pick failed

6:git rebase

???

五:标签命令

1:git tag

1:git tag;查看当前有的标签,注意:标签是搭载commit上的,也就是说,只要当前分支有这个commit的话,就会有想要的标签

2:git tag 【tagname】;为当前最新commit打一个标签,名字为tagname

3:git tag 【tagname】【commit_id】;为当前的commit_id打一个标签

4:git tag -a 【tagname】-m【comments】【commit_id】;为commit_id打上一个名为tagname的标签,并且附上注释comments;注意:-a指定标签名,-m指定注释文字

5:git tag -d 【tagname】;删除为名tagname的标签

2:git show

1:git show 【tagname】;显示名为tagname标签的相关信息

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值