Git基本操作

创建版本库

  • git init
  • 通过这个命令把当前目录变成Git可以管理的仓库(默认会生成一个.git文件,这个文件是Git用来跟踪管理版本库的)

创建完版本库之后便可以对该目录下的文件进行Git相关操作

克隆远程代码到本地

  • git clone 地址
  • 克隆具体某个分支的线上代码:git clone -b 分支名 地址

查看版本库当前状态信息

  • git status
  • 该命令用于查看版本库的当前状态,可以看出当前哪些文件是已经改动了的(修改,新增,删除)。同时还会提示哪些文件是需要添加到暂存区,哪些是已经添加到了暂存区现可以提交到仓库的。

git diff

  • git diff <文件名>查看文件在工作目录与暂存区的差别。如果还没 add 进暂存区,则查看文件自身修改前后的差别
  • git diff HEAD -- <文件名>可以查看工作区和版本库里面最新版本的区别。
  • git diff --cached已经暂存起来的文件和上次提交(commit)之间的差异
  • git diff commit-id 文件名比较工作区与指定的 commit -id 的差异

提交到暂存区

  • git add 文件名
  • git add .: 会把工作目录里的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件
  • git add -u: 仅监控已经被add过的文件(即tracked file),他会将被修改的文件提交到暂存区。 但是不会提交新文件
  • git add -A: 跟git add . 一样,但是会包括已删除的文件

把文件提交到本地仓库

  • git commit -m "注释"

更新远程代码

  • git pull origin <远程分支名>:<本地分支名>
  • 如果与当前分支合并,则可省略本地分支名:git pull origin <远程分支名>
  • 如果当前分支与远程分支存在追踪关系: git pull origin
  • 如果当前分支只有一个追踪关系: git pull

git pull和git fetch的区别

  • git fetch <远程主机名> 这个命令将某个远程主机的更新全部取回本地
  • $ git fetch <远程主机名> <分支名>取回特定分支的更新,可以指定分支名
  • 他跟pull的区别是 :git fetch是将远程主机的最新内容拉到本地仓库,用户在检查了以后决定是否合并到工作本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并。直观的来讲就是:git pull = git fetch + git merge。

更新时解决冲突

  1. git stash先将本地修改存储起来,这样本地的所有修改就都被暂时存储起来 。用git stash list可以看到保存的信息。其中stash@{0}就是刚才保存的标记。
  2. git pull暂存了本地修改之后,就可以pull了
  3. git stash pop stash@{0}还原暂存的内容,系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突
  4. 打开文件里面其中 <<<<HEAD 这里是本地的修改内容 ======== 这是远程修改的内容 >>>>>>>>> commit id (这里需要手动修改)

将本地仓库的代码推送到远程仓库

  • git push origin "本地要推送的分支名" : "远程分支名"
  • origin指远程代码库的地址,可以用git remote -v查看详情。
  • 或者git push origin "本地要推送的分支名"这个是把该分支上的所有本地推送到对应的远程分支上,(通常两者同名)如果该远程分支不存在,则会被新建
  • 如果当前分支只有一个追踪分支:git push

版本回退,撤销修改

当提交到暂存区时或者提交到本地仓库时,想要撤回并还原:

  • 当提交到版本库时(commit)想回到上一个版本:git reset --hard HEAD,HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^^,N的话就是HEAD~N
  • 当目前只是提交到暂存区(git add)时需要撤回:git reset HEAD “文件名”
  • 当对一个文件改动后,想撤回修改,使其与最近的一次提交的内容相同时:git checkout -- “文件名”
  • git reset --soft HEAD : 回退到git commit之前,此时处在暂存区。(即执行git add 命令后)

切换版本

  • 当我们想要切换某个提交的版本(commit)的时候,可以先用git log来查看版本的提交历史记录,(git log命令显示从最近到最远的提交日志)。
    从中可以看到本次commit时的记录时间及注释,还有版本编号。拿到版本编号即可回到对应的版本:git reset --hard "版本号"

分支操作

  • 查看所有分支:git branch
  • 创建并切换分支:git checkout -b '分支名'
  • 删除分支:git branch -d '分支名'
  • 合并分支:git merge '分支名'
  • 当我们从远端克隆一份代码时,只能看到当前的分支,如果想在另一个分支开发,需要创建远程的分支到本地:git checkout -b 分支名 origin/远程分支名

标签的操作

每个版本(commit)都有一个版本号,但是都是嘻哈值,不容易记录使用,这时可以用标签来标识某个版本

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