git指令

一.分支操作

1.分支创建与切换
普通创建,以工作分支创建一个新分支

git branch <branchname>

创建与切换,以本地或者远程分支创建一个新的本地分支,然后切换到这个分支

git checkout -b branchname [local_branchname |remote_branchname]

2.分支删除
普通删除

git branch -d <branch_name>

强制删除,只是改变了指向分支的head

git branch -D <branch_name>

恢复被删除的分支,hash_val(删除分支的散列值)

git branch <branchname> <hash_val>

3.查看分支与远程分支追踪状态

git branch -vv
git remote show origin

4.本地分支创建远程分支

git push origin <local_branchname>:<remote_branchname>

5.远程分支删除

git push origin :remote_branchname

6.远程分支的删除的同步

git remote prune origin

7.git在本地新建分支后,可以选择做远程分支关联。关联后,在本地分支下进行git pull 和 git push操作时 ,不需要在命令行指定远程的分支

git branch --set-upstream-to origin/remote_branchname local_branchname

8.提交记录查看
按补丁显示每个更新间的差异

git log -p

查看commitid、描述、文件修改详情

git  show commitid 

只查看commitid和描述

git log --pretty=oneline

查看分支的提交历史

git log branchname 

9.查看所有分支的所有操作记录(包括commit、reset等操作)

git reflog

10.本地仓库的版本回退
清除commitid之后的所有提交记录,可以向前回退;
回退后也可以撤销,通过git reflog指令查看上次回退的commiid_before之后的某个commiid_after,然后再次执行git reset commiid_after指令,回退到该版本。

 git reset commitid

提交反转,commitid之后的提交记录不会删除

git revert commitid 

11.从本地仓库HEAD中检出文件,将工作区文件的更改、移除恢复成未修改状态

git checkout .

12.查看分支指针

cat .git/HEAD

二.文件操作

1.文件删除
a.删除分支上的文件

git rm filename
git commit -m 'delete somefile'
git push

b.只删除暂存区、本地仓库及远程分支上的文件,保留工作区的文件并使其成为不被版本追踪的文件

git rm --cached filename
git commit -m 'delete remotefile'
git push

三.git开发流程

1.创建dev分支
git push origin dev:dev
2.在feature分支开发
a.创建远程分支dev的子分支function_first,并切换到该分支

git checkout -b feature/function_first origin/dev 

b.创建远程分支function_first

git push origin feature/function_first:origin/feature/function_first

c.在本地feature分支开发

3.develop分支合并feature分支
a.功能没有完成,可以直接在feature分支推送

git push  # 提交到feature远程分支

b.功能开发完成后,合并分支
在function_first分支提交

git add .
git commit 

切换到develop分支;
拉取其他人的提交代码,确保合并前,工作区的代码是最新的

git checkout develop
git pull 

分支合并,出现冲突时,解决冲突

git merge function_first

提交到远程分支,用来测试

git push

切换到function_first分支

git checkout function_first

推送到feature远程分支

git push

注意:
1.在分支切换之前最好先commit全部的改变;
2.功能开发完成—-测试人员测试通过—-function_first分支代码合并后,function_first分支可以删除;
3.function_first分支开发未完成时,测试人员需要测试,也可以通过分支合并操作,将代码合并到dev分支;
4.一般地,父分支可以合并子分支,而子分支不可以合并父分支。如,dev合并feature分支。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值