git常用指令

常用指令

克隆仓库

git clone url

查看分支

git branch -a 	

切换分支

git checkout name	

创建一个分支并切换到创建的分支

git checkout -b name	

添加到暂存区

git add .	

将暂存区里的改动提交到本地的版本库

git commit -m "描述"		

合并name分支

git merge name	

下拉某个分支

git pull origin name	

上传到某个分支

git push origin name	

name分支强制覆盖本地当前分支

git reset --hard origin/name   	

当前分支强制覆盖远程name分支

git push origin name --force   	

创建.gitignore文件

touch .gitignore   	

帮助

git help	

版本库初始化

git init	

相当于是从远程获取最新到本地,不会自动merge

git fetch	

相当于从远程获取最新版本并merge到本地

git pull	

删除分支

git checkout -d name	

查看当前没有add的内容

git diff	

查看已经add但是没有commit的内容

git diff --cache	

上面两个内容的合并

git diff HEAD	

查看当前分支有哪些修改

git status	

显示提交日志

git log		

问题记录

git 提交代码时出现 error Missing tree 的处理办法

错误:
git push --receive-pack=‘git receive-pack --reviewer xxx@xxx.cn --reviewer xx@xx.cn’ review HEAD:refs/for/master
Counting objects: 1, done.
Writing objects: 100% (1/1), 241 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
error: unpack failed: error Missing tree 129d587458f56f4b1f9c492824a97dc717257516
fatal: Unpack error, check server log
To ssh://xx@121.xx.xx.xx:29418/xxxx_v_2_3.git
! [remote rejected] HEAD -> refs/for/master (n/a (unpacker error))
error: failed to push some refs to ‘ssh://xx@121.xx.xx.xx:29418/xxxx_v_2_3.git’
方法:
git push --no-thin origin HEAD:远程分支名

新手阅读(老手略过)

1.首先项目组长在github创建一个仓库

a.复制创库的地址(例如:https://github.com/fwhf/fwhf.git),在本地git clone url
b.进入项目文件夹
c.git branch -a查看分支(可忽略,可以看到当前在master分支)
d.git checkout -b dev(在本地创建并切换到dev分支)
e.在项目目录(工作区)中搭建项目骨架及基本配置(例如添加了devTest.txt)
f.将修改后的文件上传至本地仓库
		git add . 
		git commit -m "描述"
g.继续将搭建好的项目(即dev分支)push到github的线上仓库中(git push origin dev)
h.这时即可在github中看到dev分支以及添加的devTest.txt文件

2.假设组员甲将要实现一个功能

(abcd同上1)
a.复制创库的地址(例如:https://github.com/fwhf/fwhf.git),在本地git clone url
b.进入项目文件夹
c.git branch -a查看分支(可忽略,可以看到当前在master分支)
d.git checkout -b dev(在本地创建并切换到dev分支,用于线下整合代码,避免出现冲突)
e.git checkout -b fwhf1(在本地创建并切换到fwhf1分支)
f.git pull origin dev(将线上dev分支下拉到本地fwhf1)
g.在工作区中编写自己的功能(例如添加了fwhf1.txt)
h.将修改后的文件上传至本地仓库(同上f)
i.切换到本地dev分支(git checkout dev),将线上最新dev分支下拉到本地dev分支(git pull origin dev),继而在fwhf1下合并自己的dev分支(git merge dev)
j.在没有冲突的情况下(3中演示冲突)继续将写好的功能(即dev分支)push到github的线上仓库中(git push origin fwhf1)
k.这时即可在github中看到fwhf1分支以及添加的fwhf1.txt文件
l.通知组长合并代码。
		下面是组长的操作
		组长先下更新仓库(git pull)。
		新建分支本地fwhf1下拉线上fwhf1分支的内容(git checkout -b fwhf1;git pull origin fwhf1);
		切换到dev分支合并fwhf1分支。
		在没有冲突的情况下,继续将写好的功能(即dev分支)add,commit,push到github的线上仓库中(git push origin dev)
		这时即可在github中看到dev分支看到全部文件

3.假设组员乙将要实现另一个功能

(abcdefgh同上2,假设功能文件为fwhf2.txt,并修改了fwhf1.txt)
假设这时组员甲修改了fwhf1.txt。重复了2的操作。
切换到本地dev分支(git checkout dev),将线上最新dev分支下拉到本地dev分支(git pull origin dev),继而在fwhf2下合并自己的dev分支(git merge dev)。
这时候就会提示fwhf1.txt发生了冲突,在发生冲突的文件删掉不需要的部分。
重复2部分其他步骤即可。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风舞红枫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值