go学习

Git命令备忘

2016-04-14  本文已影响73人  linjinhe

Git文件的状态

  1. 已修改modified-文件被修改了,但是还没有提交保存。
  2. 已暂存staged-已修改的文件放在下次提交时要保存的清单中。
  3. 已提交committed-文件已经被安全地保存在本地数据库中。

初始化

git init

将文件纳入版本控制

git add filename告诉Git开始对这些文件进行跟踪

提交文件

git commit -m commitMessage提交的时候不会记录这些还没暂存(git add)起来的变化。

git commit -a跳过暂存区域。

克隆仓库

git clone url
git clone url foldName

查看文件当前状态

git status

忽略某些文件

.gitignore

查看已暂存和未暂存的更新

git diff比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。
git diff --staged已暂存起来的文件和上次提交时的快照之间的差异。

移除文件

git rm filename
git mv fileForm fileTo移动文件(重命名)

查看历史提交

git log
git log -p -2 -p展开显示每次提交的内容差异 -2显示最近的两次更新。
git log --stat 显示简要的增改行数统计。
gitk

修改最后一次提交

git reset HEAD filename撤销最近一次的暂存操作。

查看当前的远程库

git remote -v

添加远程仓库

git remote add [shortName] [url]

推送数据到远程仓库

git push [remoteName] [branchName]

git push origin master(克隆操作会自动使用默认的master和origin名字,master-分支名,origon-服务器名)

查看远程仓库信息

git remote show [remoteName]

创建分支

git branch branchName这会在当前commit对象上新建一个分支指针。注意,仅仅是创建,并不会自动切换过去。

切换分支

git checkout branchName

合并分支

git merge branchName

分支管理

git branch列出分支清单
git branch -v列出分支清单和最后一次commit的信息
git branch --merged列出与当前分支合并的分支(哪些分支是当前分支的直接上游)
git branch --no-merged列出尚未与当前分支合并的分支。

推送本地分支

git push [远程仓库] [分支名]

拉取远程分支

git pull

撤销

撤销是文件视角。

git checkout filename撤销未add的文件。
git checkout HEAD filename撤销未commit的文件。
git reset filename撤销add

撤销已经commit的文件到指定版本
git checkout <版本号> filename
git add filename
git commit -m xxxx

回滚

回滚是分支视角。

本地分支回滚到远程分支:删除本地分支,重新fetch/pull
git checkout -B master随便切换个别的分支。
git branch -D test把本地分支删除
git fetch更新下远程引用分支
git checkout test

上一篇下一篇

猜你喜欢

热点阅读