关于Git的总结

git很很好的分布式版本控制工具,在实际开发中经常使用。
一般我们在master主分支上进行开发工作,但是某些产品版本发布后我们生成新的版本分支去记录或者保存该发布版本的数据,然后继续在master上进行开发提交,有新的提交推送时,git机制调整master指针和head指针的指向,指向最后一个末端提交推送的数据,这样master这条线就会持续进行下去(你可以把它想象成是一个链表)。
言归正传我们一起来看一下git先关的命令

git clone 仓库地址
表示clone下来整个仓库,包含了所有分支

git clone -b 分支名称 仓库地址
表示clone下来仓库其中一个分支

git branch -a
查看仓库下的所有分支(包含远程和本地所有分支)

git branch -l
查看本地仓库下的所有分支

git branch -r
查看远程仓库下的所有分支

git checkout -b 新分支名称
创建一个分支并切换到新的分支上去
它是下面两条命令的简写:
git branch 新分支名称
创建分支
git checkout 新分支名称
切换分支(但是在切换之前需要提交该分支,不然会被覆盖报错)

git push origin 新分支名称:新分支在远程的分支名称(一般和新分支名称相同)
把本地新分支的推送到远程,并新建一个与之对应的远程分支
git push origin 新分支名称
不写远程分支默认和本地分支同名

git clone -b 分支名称 仓库地址 (-b即是branch的缩写)
除了切换分支,有的时候我们不需要clone所有的分支下来,只clone指定的分支

git merge 想要合并的分支名称
git rebase 想要合并的分支名称
合并两个分支,将另一个分支和当前分支合并

git branch -d 分支名称
删除本地分支(合并后无用的分支就可以删除了)
git branch -r -D origin/分支名称
删除远程分支

git commit -m ’该次提交的信息’
提交修改

git pull <远程主机名> <远程分支名> : <本地分支名>
取回远程主机某个分支的更新,再与本地的指定分支合并
git pull
从远程仓库下拉当前分支

git push
推送当前本地分支修改到对应的远程分支

git fetch
将远程主机所有分支的更新,全部取回本地
git fetch origin master
取回origin主机的master分支

git reset – hard 22f8aae 22f8aae 为某次提交的提交号。
回退到某一个提交版本
git push -u origin master -f
origin:远程仓库名 master:分支名称 -f:force,意为强制、强行
本地回滚之后远程回滚,强推到远程分支

git cherry-pick commitid
拣选,单独提选出某一次提交来。
git cherry-pick commitid1..commitid100
注意中间的两个点,表示把两个commit区间的所有commit多复制过去
不包含第一个commitid , 即 git cherry-pick (commitid1..commitid100]

拓展:
git pull 和 git fetch都是从远程获取分支更新,他们有什么区别?

首先,git fetch 是直接去对应的远程分支获取FETCH_HRAD指向的末端版本,而git pull先基于本地的FETCH_HRAD记录,比对本地的FETCH_HEAD记录和远程仓库的版本号,然后在fetch获取当前纸箱的远程分支的后续版本的数据,然后在git merge将其和本地的当前分支合并,所以git pull是git fetch和git merge的结合。所以git fetch不会自动merge,如果需要有选择的合并就先使用git fetch,在根据情况merge,合并到当前分支就使用git pull快捷一些。

在实际开发过程中,我使用Sourcetree来管理自己不同的项目,它是一个Git的客户端工具,分支管理、修改提交推送很直观,使用起来很方便。
Sourcetree 报错解决
fatal:Authentication failed fot ‘http:// xxxx.com’
之前的账户名和密码认证失效了,其实有的时候你不改密码也会报这个错误,所以直接把Sourcetree中保存的账户信息删除,重新push。这样推送代码的时候会提示你再次输入改仓库的用户名和密码,输入后就退成成功了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值