Git基本操作命令

一、git 初始化项目方法

(1)远程仅有仓库,本地创建项目时使用下列方法:

1、本地git初始化
git init

2、将当前目录下(指定路径下的指定文件)的文件提交到缓存区(暂存区)
git add .(git add A路径/b文件)

3、将暂存区(缓存区)的代码提交到本地库中
git commit -m "此次提交代码中的功能描述"

4、建立远程仓库(未建立远程资源库)时
git remote add origin 远程git仓库地址
说明:origin 名字可自定义,便于与远程仓库连接使用

5、推送代码到指定远程分支
git push origin master或git push -u origin master
说明:master是远程分支(一般master默认为主分支)
            -u 是指定默认分支,仅在第一次设置就行,以后不用加此参数

(2)远程仓库和项目都已存在的情况下

1、本地新建文件夹后,克隆远程分支代码
git clone 远程分支代码

辅助查看状态命令:git status

(3)更换资源库

1、删除现有的资源库连接
git remote remove origin

2、建立新的资源库连接
git remote add origin 新资源库链接
或者
git remote set-url origin 新资源库链接

3、使用 --allow-unrelated-histories消除两个独立库之间的文件差异
 git pull origin master --allow-unrelated-histories

4、正常更新、合并、提交等
git pull、git merge、git push等

二、git 分支处理

1、创建分支
git branch 分支名称
说明:新分支代码是基于当前创建分支所在的代码

2、创建分支并切换
git checkout -b 分支名称
说明:新分支代码是基于当前创建分支所在的代码,并切换

3、查看本地所有分支
git branch -a

4、指定删除本地分支
git branch -D 分支名称

5、指定删除远程分支
git push origin 本地分支:远程分支 (或者)git push origin --delete 分支名称

6、将本地分支重命名
git branch -m 要被重命名分支 分支的新名称

7、推动本地分支到远程分支
git push origin 本地分支

8、拉取远程分支本地
git checkout -b dev origin/dev,作用是checkout远程的dev分支,
在本地起名为dev分支,并切换到本地的dev分支

9、已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名  本地分支名

10、合并某个分支上的单个commit
首先,用git log或sourcetree工具查看一下你想选择哪些commits进行合并,例如:
比如test分支上的commit 56edf12 非常重要,它含有一个bug的修改或其他内容。无论什么原因,你现在只需要将56edf12 合并到master,而不合并test上的其他commits,所以我们用git cherry-pick命令来做:
git checkout master  
git cherry-pick 56edf12 

11、合并某个分支上的一系列commits
在一些特性情况下,合并单个commit并不够,你需要合并一系列相连的commits。
这种情况下就不要选择cherry-pick了,rebase 更适合。还以上例为例,
假设你需要合并test分支的commit 56edf12 ~143rdg12 到master分支。
首先需要基于test创建一个新的分支branch1,并指明新分支的最后一个commit:
git checkout test
git checkout -b branch1 56edf12 
然后,rebase这个新分支的commit到master(--ontomaster)。143rdg12^ 
指明你想从哪个特定的commit开始。

git rebase --ontomaster 143rdg12^ 
得到的结果就是test分支的commit 56edf12 ~143rdg12都被合并到了master分支。

12、git fetch远程分支操作
git fetch origin 拉取远端所有分支提交

git fetch origin master:dev  拉取远端分支到本地分支dev

git branch -a 查看拉取到本地的分支列表

git checkout -b dev origin/dev 创建本地分支dev

13、将未提交代码转移到新分支:
(1)暂存本分支未提交代码:git stash 
(2)切换并创建新分支:git checkout -b feature_XXX
(3)将暂存代码应用到新分支:git stash pop

辅助查看状态命令:git status

三、研发阶段提交代码流程

约定两个主要分支:master(主分支),dev(自己开发分支,一般自己名称简写)

1、在开发分支阶段,提交代码到暂存区
git add . (或者git add A路径/b文件)

2、将暂存区代码提交到git本地库
git commit -m "本次提交代码的注释"

3、将本地库的代码同步到远程分支(如需要备份自己分支可使用,否则可忽略)
git push origin dev
说明:此条命令是将本地dev命令提交到远程dev分支
作用:一般用于将自己本地分支备份到远程自己的分支

4、切换自己开发分支到主分支(master)
git checkout master

5、在主分支(master)更新远程master分支
git pull origin master
作用:同步在某一时间内其他成员更新了master分支,此命令保证本地master节点大于等于远程主分支

6、如第5步更新无冲突,则可进行合并自己开发的分支
git merge dev

7、根据日志看产生冲突需解决冲突后,再提交到远程分支
冲突解决完后,使用 第1步、第2步、第3步(提交到主分支)进行提交

8、在第5步更新产生冲突解决办法
解决冲突后,使用第1步和第2步,然后再执行分支合并命令

9、解决冲突办法
(1<<<<<<<<< head与========之间的代码是当前分支上更新或合并的代码
(2=============>>>>>>>>之间的代码是本地或者其他分支合并的代码
(3)具体保留对应代码,需与当事人沟通,进行确认,鲁莽行事会造成代码丢失,自行负责;

辅助查看状态命令:git status

四、常规命令

1、设置git用户信息
git config --global user.name "git用户名"
git config --global user.email "git邮箱"

2、去除文件追踪标记
git rm -r --cached 文件(可支持路径)

3、查看所有tag(标签)
git tag

4、新建tag
git tag tag标签名称

5、查看tag信息
git show tag名称

6、查看日志
git log

7、查看每次commit后变更的文件
git log --stat

8、搜索提交历史,关键词
git log -S 关键词

9、显示工作区和暂存区的差异
git diff

10、显示远程所有仓库
git remote -v

11、显示指定仓库信息
git remote show 远程仓库

12、恢复暂存区的指定文件到工作区
git checkout 文件

13、恢复某个commit的指定文件到暂存区和工作区
git checkout 提交节点 文件

14、恢复暂存区的所有文件到工作区
git checkout .
  
15、重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset 文件
  
16、重置暂存区与工作区,与上一次commit保持一致
git reset --hard
  
17、重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset 提交节点

18、重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard 提交节点

五、补充命令

markdown文件命令

1、不保存命令退出
:q

2、强制退出命令
:q!

3、保存并退出
:wq

4、进入编写命令
i

5、打开文件命令
vi test.txt 或者 vim test.txt

6、切换命令
esc按键
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值