开发过程中,会不断发现新需求,不断发现bug,这时候就需要一个好的软件来管理项目。Git提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。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 = onelinegit快捷键:
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