常用Git命令
2016-03-07 09:50
555 查看
Git是目前使用最普遍的开源分布式版本控制系统,代码托管网站Github就是基于Git作版本管理。目前Android Studio也可以使用Git来进行版本控制,用起来很方便。
这里就来看一看基本的Git命令操作。
配置编辑器
在Windows下,如果想使用Notepad++,则可以这么设置:
对于64bit 系统,
确认当前配置
保存当前用户验证信息
在使用Git提交代码时,每次提交git都会要求输入 用户名和密码,很浪费时间。执行如下git命令,将用户名和密码保存到远端服务器,即可跳过该环节:
这里就来看一看基本的Git命令操作。
更新Git版本
$git clone git://git.kernel.org/pub/scm/git/git.git[/code]
配置Git
添加用户名与邮箱$git config --global user.name
"John Doe"
$git config --global user.email johndoe@example.com[/code]
配置编辑器
$git config --global core.editor emacs[/code]
在Windows下,如果想使用Notepad++,则可以这么设置:
$git config --global core.editor
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
对于64bit 系统,
$git config --global core.editor
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"[/code]
确认当前配置
$git config --list[/code]
保存当前用户验证信息
在使用Git提交代码时,每次提交git都会要求输入 用户名和密码,很浪费时间。执行如下git命令,将用户名和密码保存到远端服务器,即可跳过该环节:
$ git config credential.helper store $ git push http://example.com/repo.git[/code] 接着输入用户名跟密码后,执行修改提交都不用再验证了。获取Git代码仓库
初始化代码仓库
在当前项目文件夹下,执行如下命令,会在该目录下创建一个子文件夹.git :$git init[/code]
如果想要将当前的代码进行版本控制,则需要跟踪这些文件并做一个初始化的执行操作:$git add *.c$git add LICENSE$git commit -m'initial project version'
这里把所有.c 文件以及LICENSE文件标记为跟踪(tracking)状态,然后进行commit操作,将其添加到Git的本地工作目录下。
获取已有的Git仓库$git clone https://github.com/libgit2/libgit2[/code] 将仓库映射到mylibgit文件夹下:$git clone https://github.com/libgit2/libgit2 mylibgit[/code]在仓库中记录文件修改
在介绍具体的操作命令之前,先来看一看Git文件各个状态的生命周期。对于一个工作目录下的文件而言,主要有两种状态:untracked//tracked;tracked 文件在最近的一个Snapshot当中,它们可以是unmodified, modified,staged;而untracked 文件则是那些不在最近Snapshot和不在Staged area中的文件。当你第一次从克隆一个代码仓库时,所有文件都处于Tracked并且unmodified(未被修改)。
查看文件状态$git status[/code]
跟踪新创建的文件$git add README[/code]
staging 已修改文件
若某个文件已经处于Tracked,则执行add命令将其添加到Staging area$git add CONTRIBUTING.md[/code]
查看文件的详细修改$git diff[/code]
执行修改
最简单的命令是 git commit, 但是接着会弹出一个编辑器,需要输入该修改的简短描述,因此更为常用的是如下命令:$git commit -m"Story 182: Fix benchmarks for speed"
上述执行命令只是添加了处于Staging 状态的文件修改,那么要如何跳过staging,直接执行Tracked文件的修改?$git commit -a -m'added new benchmarks'
移除文件$git rm PROJECTS.md[/code]
重命名文件$git mv file_from file_to[/code]
查看修改记录$git log[/code]取消修改
Unstage 一个staged文件$git reset HEAD CONTRIBUTING.md[/code]
revert修改$git checkout -- CONTRIBUTING.md[/code]
取消所有合入修改$git reset --merge[/code]远程操作
查看远程Git服务器$git remote[/code]
指定参数-v,可以查看Git服务的URL$git remote -v[/code]
添加远程仓库
指定一个短名字(以后使用该名字来操作远程仓库),可以获取相应的仓库:git remote add <shortname> <url>:$git remote add pb https://github.com/paulboone/ticgit[/code] 这样通过 fetch pb,便可以获得远程仓库的数据:$git fetch pb[/code]
fetch/pull 操作
通过指定远程仓库的名字,fetch操作用于获取远程仓库的数据:$git fetch origin[/code]
如果本地Git仓库已经设置成Track远程仓库,通过pull命令可以将远程的仓库的修改合入本地仓库:$git pull[/code]
将本地修改push到远程仓库
push用于将本地的数据修改合入到远程的仓库;在某一时刻,只允许一个用户执行该操作,若另一个用户也在执行该操作,则你的push会被
拒绝。这样,在进行一下此push操作时,你首先需要获取该用户的修改(fetch),然后执行push操作
git push [remote-name] [branch-name]$git push origin master[/code]
获取远程仓库的状态
如果想要获取某个远程仓库的具体信息,可以使用git remote show [remote-name],$git remote show origin[/code]
重命名/移除远程代码仓库$git remote rename pb paul[/code]
这样远端的分支从 pb/master 更改为 paul/master. 如果想要移除某个仓库,使用 rm命令:$git remote rm paul[/code]
同步fork 分支
(0) 跟踪fork分之代码$git remote add upstream <remote-url>[/code]
(1) 从fork 的master 分支获取最新的修改$git fetch upstream[/code]
(2) 切换到本地 master 分支$git checkout master[/code]
(3) 将upstream/master 分支的修改合入 本地 master 分支$git merge upstream/master[/code]
查看所有远程分支状态$git branch -a[/code]
切换本地的工作分支->(提交代码对应的远程分支)$git checkout -b mybranch origin/remote-branch[/code]如何新建一个Github项目?
在Git 新建一个 repository, 无需添加 README.md
在本地你的项目文件夹下,打开 git bash
初始化 本地 repository$git init[/code]
跟踪(Track)本地文件到本地 repository$git add .[/code]
提交修改到本地 repository$git commit -m "initial commit"[/code]
添加远程repository$git remote add origin https://github.com/your-name/your-repo.git[/code] 将本地修改push到远程repository$git push -u origin master[/code]
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- 查看github pages文档的方式
- 使用BAE的基于Web.py的简单博客程序
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- 两分钟学会如何在github托管代码
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- Android Studio注释模板介绍
- Android自定义View实现仿GitHub的提交活跃表格
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git fork同步是什么意思?
- github配置使用指南