美文网首页
Git 简便安装方法及常用命令总结

Git 简便安装方法及常用命令总结

作者: yaoyao_IOS | 来源:发表于2016-10-18 09:45 被阅读40次

    一.在Mac OS X上安装git

    Xcode集成了git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Locations”,选择“Command Line Tools”,点“Install”就可以完成安装了。

    二. git常用命令

    git通用操作流程
    * 工作区:本地电脑存放项目文件的地方,比如learnGitProject文件夹;
    * 暂存区(Index/Stage):在使用git管理项目文件的时候,其本地的项目文件会多出一个.git的文件夹,将这个.git文件夹称之为版本库。其中.git文件夹中包含了两个部分,一个是暂存区(Index或者Stage),顾名思义就是暂时存放文件的地方,通常使用add命令将工作区的文件添加到暂存区里;
    * 本地仓库:.git文件夹里还包括git自动创建的master分支,并且将HEAD指针指向master分支。使用commit命令可以将暂存区中的文件添加到本地仓库中;
    * 远程仓库:不是在本地仓库中,项目代码在远程git服务器上,比如项目放在github上,就是一个远程仓库,通常使用clone命令将远程仓库拷贝到本地仓库中,开发后推送到远程仓库中即可;
    
    • git配置

    列出当前配置:git config --list;
    列出repository配置:git config --local --list;
    列出全局配置:git config --global --list;
    列出系统配置:git config --system --list;
    
    配置用户信息:
    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"
    
    其他配置:
    配置解决冲突时使用哪种差异分析工具,比如要使用
    vimdiff:git config --global merge.tool vimdiff;
    配置git命令输出为彩色的:git config --global color.ui auto;
    配置git使用的文本编辑器:git config --global core.editor vi;
    
    导入第三方库提醒
    error: RPC failed; curl transfer closed with outstanding read data remaining
    
    原因:curl的postBuffer默认值太小,需要在终端重新配置这个值
    解决:将curl的postBuffer值配置为500M,具体值看项目需求,配置成功不会有提示,配置失败会有提示,
    终端输入命令:
    git config --global http.postBuffer 524288000
    
    • 常用命令

    * 新建仓库:
    git init                将工作区中的项目文件使用git进行管理,即创建一个新的本地仓库:
    git clone <url> mygit   将github项目clone到本地,被clone的项目将作为远程库。
    克隆项目时如果想定义新的项目名,可以在clone命令后指定新的项目名mygit:
    
    
    * 提交:
    git add <file>  把文件修改添加到暂存区。(注意:添加到仓库,需要执行提交操作才能把文件放到仓库。)
    git add .       提交工作区所有文件到暂存区:
    git add [dir]   提交工作区中某个文件夹中所有文件到暂存区
    
    区别
    git add .   会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
    git add -u  仅监控已经被add的文件(即tracked file),会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
    git add -A  是上面两个功能的合集(git add --all的缩写)
    
    git commit -m "commit_info"    把文件提交到仓库。
    git commit -a -m "commit_info"    跳过add到暂存区的过程,将所有已经使用git管理过的文件暂存后一并提交
    git commit --amend    撤销上一次提交
    
    
    * 撤销:
    git rm <file>  删除工作区文件,并且也从暂存区也删除对应文件的记录
    git rm --cached <file>   从暂存区中删除文件,但是工作区依然还有该文件
    git reset HAED <file>    把暂存区的修改撤销掉,重新放回工作区。
    git reset --hard commit_id    回退到以前的版本。Git中用HEAD表示当前版本,上一版本为HEAD^,上上版本为HEAD^^,假如为往上100版本,则可表示为:HEAD~100。
    git checkout -- file     丢弃工作区的修改。git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。如果想保留上一次的修改以备以后继续工作,可以使用stashing和分支来处理
    
    
    * 重命名文件:
    git mv [file-original] [file-renamed]    并将已改名文件提交到暂存区
    
    
    * 查看信息:
    git status   查询当前工作区所有文件的状态
    git diff     查看修改的内容,比较工作区中当前文件和暂存区之间的差异,也就是修改之后还没有暂存的内容
    git diff --cached    比较暂存区与上一版本的差异
    git diff <file-name> --cached   指定文件在工作区和暂存区上差异比较
    git log     查看提交历史
    git log --pretty=oneline     查看排版的日志
    git log -p -2    参数-p展开每次提交的内容差异,用-2显示最近的两次更新
    git reflog:查看命令历史。可用来确定要回到未来的哪个版本。
    
    • 远程操作

    git remote add origin git@github.com:GitHubName/repo-name.git:关联一个GitHub远程库。通用结构:git remote add origin git@server-name:path/repo-name.git。
    git push -u origin master:第一次向远程库推送master分支的所有内容。
    git push origin master:向远程库推送最新修改。
    git pull:抓取远程的新提交,保持本地和远程同步。
    git pull origin master:把master分支的最新状态抓取到本地。
    git remote -v:查看远程库信息。
    
    
    git checkout -b branch-name origin/branch-name:在本地创建和远程分支对应的分支,名称最好一致。
    git branch --set-upstream branch-name origin/branch-name:建立本地分支和远程分支的关联。
    git push origin <tagname>:推送某个标签到远程。
    git push origin --tags:一次性推送全部尚未推送到远程的本地标签。
    git push origin:refs/tags/<tagname>:删除远程标签。(先删除本地的标签)
    
    • 分支操作

    git branch:查看所有分支
    git branch <name>:创建分支
    git checkout <neme>:切换分支
    git checkout -b <name>:创建+切换分支
    git merge <name>:合并某个分支都当前分支
    git branch -d <name>:删除分支
    git merge --no-ff -m "描述" <name>:记录分支情况的合并分支方法。
    
    • stash操作

    git stash:储藏当前工作状态
    git stash list:查看储藏的工作列表。
    git stash apply:应用最新的储藏,恢复工作状态,但恢复后stash的内容并不删除。
    git stash apply stash@{2}    如果想应用更早的储藏
    git stash apply --index    重新应用被暂存的变更,需要加上--index参数 
    git stash drop    删除最近一次stash的内容
    git stash drop stash{0}     删除指定一次stash的内容
    git stash clear    清空所有的stash内容。
    git stash pop    恢复工作状态并删除相关stash内容。
    
    在某些情况下,你可能想应用储藏的修改,在进行了一些其他的修改后,又要取消之前所应用储藏的修改。Git没有提供类似于 stash unapply 的命令,但是可以通过取消该储藏的补丁达到同样的效果:git stash show -p stash@{0} | git apply -R;同样的,如果你沒有指定具体的某个储藏,Git 会选择最近的储藏:git stash show -p | git apply -R;
    
    • 标签操作

    git tag:查看所有标签。
    git tag -l "" 使用特定的搜索模式列出符合条件的标签
    git tag -a v1.4 -m "my version 1.4"     创建一个含附注类型的标签,需要加-a参数
    git show v1.4    使用git show命令查看相应标签的版本信息,并连同显示打标签时的提交对象
    git tag <name>:新建一个标签。
    git tag -v  验证已签署的标签
    git tag -a <tagname> -m "描述":新建标签并指定标签信息。
    git tag -s <tagname> -m "描述":PGP签名标签。
    git tag -d <tagname>:删除一个本地标签。
    git push origin <tagname>:推送某个标签到远程。
    git push origin --tags:一次性推送全部尚未推送到远程的本地标签。
    git push origin :refs/tags/<tagname>:删除远程标签。(先删除本地的标签)
    

    相关文章

      网友评论

          本文标题:Git 简便安装方法及常用命令总结

          本文链接:https://www.haomeiwen.com/subject/vqnzyttx.html