Git 操作笔记

2019/01/15 工具使用

由于工作中一直用的是 SVN, 所以有时候在用 Git的时候某些命令就会想不起来,这里单独记录下.

Git简介

日常操作

忽略文件修改

  • 忽略规则
*.o
/Manager   # 仅仅忽略项目根目录下的 Manager 文件,不包括 subdir/Manager 
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

当重新修改忽略文件后,规则不能立马生效,需要先清除缓存,在重新 add

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

初始化配置

初始化配置用来首次安装 git 后执行的配置命令

git config --global user.name "username"

git config --global user.email "user@mail.com"

配置SSH

ssh-keygen -t rsa -C "user@mail.com""

提交代码

  • 初始化仓库
git init
  • 对指定文件添加跟踪
git add xxx.file

git add 命令后面可以跟具体的文件名称,或者通配符(*.h)

git add . 把工作区所有的变化添加到暂存区,包括修改的和新添加的
git add -u 仅添加已经修改的文件(git add –update 的缩写)
git add -A 以上功能的合集 (git add –alll 缩写)
  • 撤销上次 add 操作
 撤销所有 add 的文件
 git reset HEAD .

 撤销某个文件
 git reset HEAD -xxx.cpp

  • 添加远程仓库地址(和远程仓库建立链接)
git remote add origin git@github.com:kevinlq/LQFramKit.git

以上命令用在第一次提交项目时,会将本地项目和远程仓库之间建立连接.

  • 提交
git push -u origin master

上述命令中 -u 是为了指定默认主机,这样以后提交是不需要任何参数,直接使用 git push 即可

  • 强制更新本地文件
git fetch --all
git reset --hard origin/master

查看log信息

  • git log –oneline

将日志输出为一行显示

  • git log -[length]

指定显示多少条日志,比如: git log -2 or git log --oneline -2

git log

分支操作

  • 列出本地分支信息
git branch
  • 列出远程分支信息
git branch -r
  • 列出本地和远程所有分支
git branch -a
  • 新建分支, 停留在当前分支
git branch [branch-name]

例如
git branch dev
  • 新建分支, 并切换到该分支
git checkout -b [branch]

例如:
git checkout -b dev

git log

  • 切换到指定分支
git checkout [branchname]

例如:
git checkout master
  • 新建分支后提交到远程
git push -u origin dev
  • 删除分支(本地)
git branch -d [branchname]

例如:
git branch -d dev
  • 删除远程分支
git push origin --delete [branchname]
git branch -dr [remote/branch]

标签相关操作

标签用来给某个历史提交版本打标记,以示重要,一般常用来给某个功能标机发布节点(V1.0等)

  • 列出所有 tag
git tag
  • 新建一个 tag
git tag [tag]

例如:
git tag -a v1.0 -m "version 1.0"
  • 删除一条 tag
git tag -d [tag]

– 查看 tag 信息

git show [tag]
  • 提交指定的 tag
git push [remote] [tag]
  • 提交所有的 tag
git push [remote] --tags
  • 删除远程仓库标签
git push origin :refs/tags/标签名

git push origin :refs/tags/protobuf-2.5.0rc1

一些问题

  • 上次 git 操作中途崩溃,引起 git 锁住
Another git process semms to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated then try again. If it still fails, a git process remove the file manually to continue… 

解决办法:

找到项目根目录下的 `.git` 文件夹中,删除 `index.lock` 文件即可.

参考文章


作者:鹅卵石
时间:  2019年1月15日22:54:35
版本:V 0.0.1
邮箱:kevinlq@163.com
版权:本博客若无特别声明,均属于作者原创文章,欢迎大家转载分享。但是,
希望您注明来源,并留下原文地址,这是对作者最大的尊重,也是对知识的尊重。

如果您对本文有任何问题,可以在下方留言,或者Email我.

捐赠

如果觉得分享的内容不错,可以请作者喝杯咖啡.


Show Disqus Comments

Search

    欢迎关注我的微信号

    一个不羁的码农

    不羁的程序员

    转载请注明出处!

    Table of Contents