您的位置:首页 > 其它

Git 常用操作命令

2016-05-27 14:21 302 查看
转载:http://tomhat.iteye.com/blog/2065707

稍微做了一些补充。

可以创建私有项目的git网站:

+ https://bitbucket.org

+ http://git.oschina.net

master:默认开发分支;

origin:默认远程版本库

初始化操作:

$ git config --global user.name <name>
// 设置提交者的名字

$ git config --global user.email <email>
// 设置提交者的邮箱

$ git config --global core.editor <editor>
// 设置默认文本编辑器

$ git config --global merge.tool <tool>
// 设置解决合并冲突时差异分析工具

$ git config --list
// 检查已有的配置信息


创建新版本库:

$ git clone <url> #克隆远程版本库
$ git init #初始化本地版本库


修改和提交:

$ git add . #添加所有改动过的文件到暂存区
$ git add <file> #添加指定的文件到暂存区

$ git mv <old> <new> #文件重命名
$ git rm <file> #删除文件
$ git rm --cached <file> #停止跟踪文件但不从工作区删除。


提交文件:

$ git commit -m <file> 'msg' # 提交指定的文件
$ git commit -m 'msg' # 提交所有暂存区中的文件
$ git commit -amend # 修改最后一次提交
$ git commit -C HEAD -a -amend #增补提交(不会产生新的提交记录)


查看提交历史:

$ git log #查看提交历史
$ git log -p <file> #查看指定文件的提交历史
$ git blame <file> #以列表方式查看指定文件的提交历史

$ gitk #查看当前分支历史记录,gitk貌似是个工具
$ gitk --all #查看所有分支历史记录

$ git branch -v #查看所有分支及其最后一次提交记录

$ git status #查看当前状态

$ git diff #查看变更内容(工作区与暂存区)
$ git diff --cached #查看改动(暂存区与版本库,即下次提交的内容)
$ git diff --staged #同上
$ git diff master #工作区与版本库对比


git checkout 用法:

$ git checkout
$ git checkout --
# 以缩写字母方式查看文件状态,M、A等等。

$ git checkout <file>
$ git checkout -- <file>
# 这两个命令都可以撤销工作区的修改,回到暂存区或者版本区的状态。(不会影响暂存区中的内容)

$ git checkout HEAD <file1> <file2>
$ git checkout HEAD .
# 撤销工作区和暂存区的修改(工作区和暂存区都会回到最后一次提交的状态)

$ git checkout HEAD^^
# 创建新分支,指向倒数第二次提交的状态


撤销操作:

$ git reset --hard HEAD #撤销工作目录中所有未提交的修改,(工作区和版本库都会回退到最后一次提交的状态)
$ git reset --hard HEAD^^ #回退到倒数第二次提交的状态。
$ git reset --hard <hash> #回退到对应的版本

$ git revert <hash> 撤销指定的提交


分支与标签:

$ git branch #显示所有本地分支
$ git checkout <branch/tagname> #切换到指定分支或标签
$ git checkout -b loaclName origin/remoteName #创建本地分支并追踪到远端分支
$ git branch <name> #创建新分支
$ git branch -d <name> #删除本地分支

$ git tag #列出所有本地标签
$ git tag <tagname> #基于最新提交创建标签
$ git tag -d <tagname> #删除标签

$ git push origin --delete <branchname> # 删除一个远程分支


合并与衍合

$ git merge <branch> #合并指定分支到当前分支
$ git rebase <branch> #衍合指定分支到当前分支


远程操作:

$ git remote -v #查看远程版本库信息
$ git remote show <remote> <url> #查看指定远程版本库信息
$ git remote add <remote> <url> #添加远程版本库

$ git fetch <remote> #从远程库获取代码
$ git pull <remote> <branch> #下载代码及快速合并

$ git push <remote>:<branch>/<tagname> #删除远程分支或标签
$ git push -tags #上传所有标签


备忘:

git push origin local-branch:remote-branch
// 同步本地分支到远端

git fetch origin master
// 拉取远端master数据

git log -p master origin/master
// 比较本地master和远端master的差别

git merge origin/master
// 合并远端master

git push origin localName:remoteName
// 推送本地分支到远端分支

git checkout -b localName origin/remoteName
// 创建本地分支并与远端分支相关联


git branch -m old-name new-name
// 重命名分支名

git branch --set-upstream-to=origin/branch
// 将本地分支与远端分支相关联
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git