前端使用git,常用命令

git 无法拉取新的远程分支

是想把远程分支 dev 拉到本地来,但是有时候没有用,提示远程分支不存在,我们需要通过下面的命令来操作

git fetch origin
其他人的需要统一本地和线上的HEAD

那么如何去解决呢?很简单,用这个命令

git reset --hard origin/分支
cherry pick 合并单个 commit
git cherry-pick 248cba8e77231601d1189e3576dc096c8986ae51(commit_id)
回退指定版本
git reset --hard 248cba8e77231601d1189e3576dc096c8986ae51(commit_id)
撤销上次commit,还原文件
git reset HEAD^
git reset HEAD~1 // 回退几步
撤销上次commit,抛弃修改
git reset --hard HEAD^
查看合并或提交类别集合
git reflog
clone远程分支
git clone -b 远程分支 git@lab.com:org/project.git
checkout 创建,拉取并切换远程分支
git checkout -b dev origin/dev
branch 删除分支
git branch -D 分支
合并分支,保持线性的commit记录
git rebase master
// 冲突是解决冲突
git add .
// 继续循环
git rebase --continue
// 直到修复完成
// 切换并合并
git merge dev
查看commit记录
gitk
  1. 场景:你是第一天来公司上班的,项目代码托管在GitLab,项目地址:git@lab.com:org/project.git,现在有一处代码需要你修改。请下完成此项任务中,与git/gitlab相关的操作步骤。

第一步: ssh-keygen -t rsa -C zhangsan@abc.com
第二步:拷贝公钥到gitlab
第三步:
git config —global user.name zhangsan
git config —global user.email zhangsan@abc.com
第四步:git clone git@lab.com:org/project.git
第五步:git checkout -b project-20170227-zhangsan-bugfix
第六步:修改代码
第七步:git status
第八步:git add .
第九步:git commit -am ‘bugfix’
第八步:git push --set-upstream origin project-20170227-zhangsan-bugfix

你的用户信息

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

初始提交

echo "#xxx" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin xxxx
git push -u origin master

git status 命令可以让我们时刻掌握仓库当前的状态
git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,能看看具体修改了什么内容

拉取远程的Repo到本地(如果已经在本地,可以略过)

$ git clone xxxxxx

在本地仓库删除文件

$ git rm 我的文件

在本地仓库删除文件夹

$ git rm -r 我的文件夹/

此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。

提交代码

$ git commit -m"我的修改"

推送到远程仓库(比如GitHub)

$ git push origin xxxxxx

补充: git rm

查看git rm的说明文档:

$ git rm -h

用法:git rm [<选项>] [--] <文件>...

-n, --dry-run         演习
-q, --quiet           不列出删除的文件
--cached              只从索引区删除
-f, --force           忽略文件更新状态检查
-r                    允许递归删除
--ignore-unmatch      即使没有匹配,也以零状态退出

使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:

error: Your local changes to 'c/environ.c' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

1、先将本地修改存储起来
修改文件加入

$ git stash

新建文件也加入缓存

$ git stash -u

这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:
其中stash@{0}就是刚才保存的标记。

2、pull内容
暂存了本地修改之后,就可以pull了。

$ git pull

3、还原暂存的内容

$ git stash pop stash@{0}

系统提示如下类似的信息:

Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

4、解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。

5.add commit 一起用

git commit -am ""

-a, --all commit all changed files(提交所有被修改的文件)
注:创建新文件是不会加入commit。

6:首次关联提交冲突

提交时使用git push origin master
出现failed to push some refs to git

可以通过以下方式解决

git pull --rebase origin master

执行后可以看到本地代码中多了README.md文件
再次执行git push origin master即可完成代码上传

如果本地已存在 冲突文件,得先处理冲突。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容