安装Git:
点击下载Git, 安装成功后,在桌面上,可以看到安装后的“Git Bash”选项。
新建文件夹demo,进去之后右键单击选择菜单项Git Bash Here,弹出窗口即可操作。
生成秘钥:
在命令框中输入ssh-keygen -t rsa -C “yourEmail@*.com” 连续三次按enter键,出现The key fingerprint is:表示生成成功。
在C:\Users\Your\.ssh路劲下回看到id_rsa和id_rsa.pub,前一个文件是私钥,后一个是公钥,一般将公钥服务器进行认证。
下面按照功能介绍一些Git指令:
创建仓库:
git clone git://github.com/ 克隆远程仓库 git init 初始化本地仓库
全局配置:
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 add . 添加所有改动过的文件 git add <file> 添加指定的文件 git mv <old> <new> 文件重命名 git rm <file> 删除文件 git rm -cached <file> 停止跟踪文件但不删除 git commit -m <file> 提交指定文件 git commit -m “commit message” 提交所有更新过的文件 git commit -amend 修改最后一次提交 git commit -C HEAD -a -amend 增补提交(不会产生新的提交历史纪录)
查看提交历史
git log 查看提交历史 git log -p <file> 查看指定文件的提交历史 git blame <file> 以列表方式查看指定文件的提交历史 gitk 查看当前分支历史纪录 gitk <branch> 查看某分支历史纪录 gitk --all 查看所有分支历史纪录 git branch -v 每个分支最后的提交 git status 查看当前状态 git diff 查看变更内容
撤消操作
git reset -hard HEAD 撤消工作目录中所有未提交文件的修改内容 git checkout HEAD <file1> <file2> 撤消指定的未提交文件的修改内容 git checkout HEAD. 撤消所有文件 git revert <commit> 撤消指定的提交
分支与标签
git branch 显示所有本地分支 git checkout <branch/tagname> 切换到指定分支或标签 git branch <new-branch> 创建新分支 git branch -d <branch> 删除本地分支 git tag 列出所有本地标签 git tag <tagname> 基于最新提交创建标签 git tag -d <tagname> 删除标签
合并与衍合
git merge <branch> 合并指定分支到当前分支 git rebase <branch> 衍合指定分支到当前分支
远程操作
git remote -v 查看远程版本库信息 git remote show <remote> 查看指定远程版本库信息 git remote add <remote> <url> 添加远程版本库 git fetch <remote> 从远程库获取代码 git pull <remote> <branch> 下载代码及快速合并 git push <remote> <branch> 上传代码及快速合并 git push <remote> : <branch>/<tagname> 删除远程分支或标签 git push -tags 上传所有标签
当你在与他人合作开发时,需要自己新建一个仓库可以如下操作:
git branch -b 'branch-name' 新建分支branch-name git checkout -b 'branch-name' 新建分支并切换到新分支 git commit 提交修改内容 git push 提交到远程 git checkout 主分支 切换到主分支 git pull 更新主分支代码 git merge --no-ff 'branch-name' 合并自己分支到主分支
当两个人同时修改一个文件,无论是提交还是合并分支时候容易出现冲突,解决方法:
git stash 将自己修改的内容放在缓存区 git pull 更新别人提交的代码 git stash pop 将缓存区的代码释放 git status 查看文件状态,如果有提示文件冲突,打开对应的文件修改,然后 git add 文件
删除分支(删除分支前确定没有人在当前分支操作):
git branch -d 分支名 删除本地分支 git push origin --delete 分支名 删除远程仓库分支 当删除完分支时比人需要执行 git fetch origin 来更新最新分支
查看自己的修改:
git diff 提交之前查看 git show 提交之后查看
恢复被删除的文件:
git ls-files --deleted 查看被删除的文件 git checkout -- file-name 恢复文件
查看文件操作历史记录:
git log -p filename 注意: 每次提交自己的代码前都要git pull更新到最新的代码,以免冲突
git配置文件:
在命令行中输入 vi ~/.gitconfig 即可进入git配置文件,下面的配置主要是简化命令,添加(i,粘贴)到配置文件中保存退出(:wq)即可
[alias] co = checkout ci = commit br = branch st = status unstage = reset HEAD -- last = log -1 HEAD mg = merge --no-ff glog = log --pretty=oneline --graph df = difftool sh = stash pl = pull --rebase ph = push sp = stash pop lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' rv = revert --soft HEAD^ [color] ui = true [format] pretty = oneline git快捷键: Insert:粘贴 ctrl+f: 查看下一页 ctrl+b: 查看上一页 i: 进入编辑模式 esc: 退出编辑模式 :wq 保存退出 q 退出阅读模式
小结:
git是一款功能强大的版本控制软件,通过它我们可以方便的管理自己的项目,下面是分享一些介绍git工作原理的网址:
git - 简明指南:http://rogerdudler.github.io/git-guide/index.zh.html
图解Git:http://marklodato.github.io/visual-git-guide/index-zh-cn.html