git 使用指南
Posted futurehau
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 使用指南相关的知识,希望对你有一定的参考价值。
git 基本架构:
git 的本地仓库是它与其它代码托管工具相比的主要特征。
Index
Git维护代码分为三部分
当前工作目录 <->index file <->本地 git仓库
ls -a
cd .git
基本使用:
1.安装git yum install git
2.在 github上创建项目
3.Linux中创建pub key (ssh-keygen),把公共密钥导入github。(.ssh/id_rsa.pub内容粘贴到github下的 Settings => SSH and GPG keys => New SSH key)
4.克隆项目 git clone git@***
5.比如我进入目录后新建文件touch README.md
git add README.md
git commit -m "add README"
git push -u origin master #(origin :地址 库别名; master : 分枝)
好了,这时候再去到github上这个project就会看到多了README.md
6.也可以提交文件夹,但是git不能提交空文件夹,里面必须需要有东西
也是一样的操作,这里注意如果git commit 的时候没有加参数的话,就会跳出vi窗口输入。
git add . #当前目录下所有更新的文件目录都add
也可以指定文件夹名 git add tesrDir
7.git status #显示uncheck的文件目录
8.git config
git config --global user.name "***" #配置提交代码的时候显示的名称
git config --global user.email "***" #配置提交代码的时候显示的邮箱
git config --global color.ui true #配置查看改变(git diff 工作目录和Index的差别)时候界面显示的友好度
git config --global alias.co checkout #配置命令别名,其它的类似
git remote add origin git@host:project.git #添加远程版本库origin
git config #体现在 cat ~/.gitconfig
git config -l #列出所有config
其它命令和解释:
git show # 显示最近一次改变
git log #修改日志 本地仓库
git add . #将所有修改提交到Index
git add <file> # 将文件修改提交到Index
git commit <file> # 将修改提交到本地仓库
git commit #将所有add提交到本地库
git commit -a # 将git add(或git rm)和git commit等操作都合并在一起做
git commit -am "some comments"
git reset --mixed # 默认参数,恢复index中的修改,已经add但还未commit的修改可以用它reset
git reset --soft HEAD~1 # 恢复commit中修改,index中保留
git reset --hard <version> # 将本地文件空间恢复为指定的版本,同时修改所有的index及本地库
git reset (--soft | --mixed | --hard) <version> <file>
git revert <version> # 撤销某次提交,撤销动作本身也创建了一次提交对象 git revert HEAD # 撤销最后一次提交
git rm readme.txt #从版本库中删除文件,但不删除文件
git rm -cached readme.txt #重命名文件
git mv reademe.txt readme
git diff <file> # 比较当前文件和index文件差异 git diff
git diff <V1> <V2> # 比较两次提交之间的差异
git diff --cached # 比较index与本地库差异
git diff HEAD #比较工作版本与HEAD(本地库)的差异
git log
git log <file> # 查看该文件每次提交记录
git log -p <file> # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
分枝 branch
git branch -r # 查看远程分支
git branch -a # 查看所有分支
git branch <new_branch> # 创建新的分支
git branch -v # 查看各个分支最后提交信息
git checkout <branch> # 切换到某个分支
git checkout -b <new_branch> # 创建新的分支,并且切换过去
git checkout -b <new_branch> <branch> # 基于branch创建新的new_branch
git checkout <version> # 把某次历史提交记录checkout出来,但无分支信息,切换 到其他分支会自动删除
git checkout <version> -b <new_branch> # 把某次历史提交记录checkout出来,创建成一 个分支
git branch -d <branch> # 本地删除某个分支
git push origin :new # 远端删除
Merge and Rebase
git merge # 将branch分支合并到当前分支
git rebase master # 将master rebase到branch,没有branch时为当前branch 以master分支为主,
有冲突会提示错误,进入文件修改后 git add 然后 git rebase --continue
git pull # 获取远程仓库所有分支更新并合并到本地
git pull <remote_name> <branch_name> #获取指定仓库指定分支的代码
git fetch origin # 抓取远程仓库更新
git fetch origin master:tmp
git diff tmp git merge tmp
以上是关于git 使用指南的主要内容,如果未能解决你的问题,请参考以下文章