git

git上注册账号
将git上文件克隆到本地环境
  • 新建一个项目

mkdir test 新建一个项目

cd test 进入到这个项目

  • 初始化一个项目
    通过 git init 命令把这个目录变成Git可以管理的仓库。完成之后,当前目录下会生成一个.git文件。若没有看到,那是因为这个目录默认是隐藏的,用ls -ah 查看
  • pwd显示当前目录。 如果是windows系统,为了避免错误,应确保目录名(包括父目录)不包含中文。
添加文件到git仓库
  • 第一步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
    注:git仅仅跟踪文件的变动,不跟踪目录。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。

  • 第二步:使用命令git commit -m <file>,加-m '描述',是添加对本次修改的描述

查看文件状态
  • git status 命令

该命令可以让我们时刻掌握仓库当前的状态

  • git diff 可以查看修改内容

版本回退

  • git log 命令显示从最近到最远的提交日志。如果嫌输出的信息太多,看得眼花缭乱,可以加上--pretty=oneline
  • git reset 返回以前版本,如:git reset --hard HEAD^返回上一版本

如果又想回到返回前的版本,只要上面的命令行窗口还没有被关掉,找到被返回版本的commit id ,然后git reset --hard 34538...

  • git reflog 用来记录每一次命令,可以找到每次的commit 的id,然后恢复需要的版本。

撤销修改

  • git checkout -- file(撤销修改的文件名)
    • 一种是文件自修改后还没被放到暂存区,把文件在工作区的修改全部撤销到和版本库一模一样的状态
    • 一种是文件已经添加到暂存区后,又做了修改,现在,撤销修改就是回到添加暂存区后的状态,
    • 总之,就是让文件回到最近一次git commit 或git add时的状态
  • git reset HEAD file 撤回暂存区的修改,重新放回工作区
    (HEAD表示最新的版本)

删除文件

  • rm file 删除文件
  • 删除的是工作区的文件,若想和版本库一样,则还需进行下面命令
  • git rm file 和 git commit -m 'remove file'

远程仓库

注册github账号之后,需要先设置ssh加密

  • 第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"
    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可

  • 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

添加到远程仓库

  • 在右上角找到“Create a new repo”按钮,创建一个新的仓库:

  • 在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:

  • 在本地的仓库下运行命令进行关联:
    git remote add origin git@github.com:michaelliao/learngit.git
    把上面的michaelliao替换成你自己的GitHu,
    若提示已经存在,git remote rm origin 删除

  • 本地库的所有内容推送到远程库上:

    • 先把远程上的READER.md文件,下载到本地仓库
      git pull --rebase origin master
    • git push -u origin master //把当前分支master推送到远程
    • 完成之后 本地再作提交,执行:git push origin master// 把本地master最新修改推送至GitHub

当输入 git push -u origin master若提示:error:failed to push som refs to.......

解决办法:git pull origin master //先把远程服务器github上的文件拉下来,再push上去

当执行:git pull origin master时,提示:fatal: refusing to merge unrelated histories
**解决办法:git pull origin master --allow-unrelated-histories 若再报错 用git status 查看下状态 **

  • 再执行git push -u origin master

  • 克隆一个本地库

    • git clone git@github.com:michaelliao/learngit.git

分支管理

  • 查看分支:git branch
  • 创建分支:git branch <分支name>
  • 切换分支:git checkout <分支name>
  • 创建+切换分支:git checkout -b <分支name>
  • 合并某分支到当前分支:git merge <name>//合并指定分支到当前分支
  • 删除分支:git branch -d <name>

在分支上修改,其他分支不受影响

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,715评论 9 163
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,704评论 4 54
  • 一篇文章,一封信,看的快的人扫几眼看完了,看的慢的人细细品味里面的内容,无论快慢,这是一个人的阅读。 然而对于不识...
    问怀君阅读 169评论 0 1
  • Socket iOS网络编程层次结构 iOS网络编程层次结构分为三层,从上往下依次为: Cocoa层:NSURL,...
    羊驼先生丶阅读 1,522评论 1 26
  • 擦肩而过的回眸一笑,野花盛开的万物复苏,风平浪静的水天一色,炊烟袅袅的宁静祥和。 我身边的美太多,想看的人也太多。...
    小宝Ariny阅读 481评论 0 3