GIT新手快速入门

基础用法

查什么东西得话

git log 查看当前分支提交记录

git status 查看当前状态,修改了哪些,缓存了哪些

git branch 查看本地分支和当前处于什么分支

    -a 所有分支

    -r 所有远端分支

    -vv 查看本地和远程分支的对应

git blame 查看某行谁写的

git show commitID 显示commit内容

git diff 显示修改的内容

分支管理

git checkout 切换到本地的分支 

    -b xxx remotes/origin/xxx 切换到远端的分支

    -b xxx 基于本分支新建分支

git branch -d xxx 删除本地分支

git push origin :xxx 删除远端分支(推送一个空分支到远程分支)

git clone -b xxx 下载指定远程分支

git push origin xxx:xxx,推送本地xxx到远端xxx,远端没有则新建分支,但没有建立联系。

Git创建远程分支并建立联系

假设当前分支为master,需要创建的分支是my-test

git checkout -b my-test  //在当前分支下创建my-test的本地分支分支

git push origin my-test:mytest  //将my-test分支推送到远程(主要使用了它的一个特性:远程没有就会创建新的)

git branch --set-upstream-to=origin/my-test  my-test//将本地分支my-test关联到远程分支my-test上(上一句只创建而未关联)

git branch -a //查看远程分支

git branch -vv 查看本地和远程的关联

上面这几句不仅创建了本地也创建了远程,两个都是最新的,但在实际使用中,应该让本地分支追踪大家一起用的分支,这样你的代码可以在其他人MERGE后进行git pull来获取最新(可能要先commit 自己的修改),待到你修改完成后,使用冒号提交到新的分支,然后请求合并。

pull vs fetch

pull是fetch+merge,fetch只取回别人在远端做的更改,而并不做合并操作,实际中,大多还是使用pull,在commit 以后。

每次pull 都要stash一下!!!!

git stash 、git pull、git stash pop

reset

代码有四种状态:修改前、修改后、add后、commit后.

可以使用reset和checkout来切换状态,吃个后悔药。

修改后到修改前:git checkout xxx 撤销谋文件或者git checkout  .撤销全部

add后到修改后:git reset HEAD

commit后到add后:git reset --soft HEAD~x (x为一个数字,说明撤销到多久前)

commit后到修改后:git reset --mixed HEAD~x

commit后到修改前:git reset --hard HEAD~x

之前不会自动修复,所以每次都reset,其实只要找到both motified的文件,把里面的冲突修掉后再add+commit就好了。

diff & apply

显示所作的修改,并可以输出为一个patch,之后再使用apply进行恢复,如果要给别人用或者不想stash全部而保留一部分修改则可以用这种办法。

tag

tag是一个点,branch是一条由点组成的线,tag上只能看,不能做修改,branch是我们要操作的。

待理解的:merge rebase

开发流程

1.一个干净的最新的开发分支(status, log,pull)

2.改代码成功,包含需求代码和实验日志代码

3.基于开发分支新建分支,在新分支,删去log等调试代码,只保留需要提交的代码,

4.提远程并提MR

5.根据comment在开发分支上修改

6、合入后恢复最干净的分支,删去本地和远程无用分支

如果分支太老,且没有多少修改,直接reset,然后pull

如果有挺多修改,可以先stash,然后rebase,pull.stashpop

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值