在 linux 上安装git
sudo apt-get install git
在windows上安装git,直接去官网上去下载 (下载完成后安装)
安装过程中加上以下选择,其他都选默认- -!(反正看不懂)

安装成功之后,就会在桌面出现一个图标打开


然后我们需要在本地创建一个版本库,任意选一个盘符 cd 进去 然后mkdir 创建一个文件夹
cd 进入其中 输入
git init 然后 git就会把仓库创建好了.这个库是一个隐藏文件

可以通过命令 ls -ah 来查看
这样一个基本的git就搭建好了 使用windows系统需要下载 Notepad++ 用来打开其中的文件,为什么这样呢,大牛是这样解释的
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题
然后 我们在本地搭建好了一个git,记住这仅仅是在本地搭建好的
常用的命令:
git init 初始化git仓库
git status 查看工作的状态
git add filename 将文件的修改或添加 添加到缓存区
git commit -m "提交描述" 将缓存区的修改,提交到版本仓库
git log 查看当前版本下的所有提交日志
git reflog 查看所有的git命令历史记录
git reset --hard HEAD^ 回退到上一个版本 (HEAD^^上上版本...HEAD~100回退到上100个版本)
这个操作可以回退到指定的版本位置..
也可以用 git reset --hard 1900 后面的1900是修改操作的版本的ID
输入命令 git log
下面这些都是版本ID 我们只需输入前4位就可以了

git chechout -- filename 在git add之前撤销某个文件的修改
git reset HEAD filename 将暂存区中的文件撤销添加操作,并将工作区状态回退到git add之前的状态
1) 如果只是修改了本地工作区的文件没有git add 用 
2) 如果 提交到本地暂存区的话 用 
3) 如果 提交到本地版本库的话 用 
说先如果我们需要连接一个远程的仓库就需要在自己的github中添加自己的ssH密钥

这个密钥在哪里搞到手呢.就要去我们的本地的库中输入命令搞到手.

进入我们c用户下找到.ssh文件夹进入打开右键打开git命令行


配置全局的name和email,这里是的你github或者bitbucket的name和email


在我们windows目录下找到

从公钥中把ssh全部复制出来粘贴到我们服务器上的ssh设置中去

git remote add origin git@github.com:JsonQueue/python7.git 链接远程仓库,要求当前电脑的ssh文件夹下的id_rsa.pub文件公钥的内容,需要在github的settings中的SSH中添加进去,进行远程连接的验证
如果出现
github常见操作和常见错误!错误提示:fatal: remote origin already exists.
去查一下一大把解决办法,这里不多说
git push -u origin master 将本地仓库的内容,上传到远程仓库
如果我们本地没有仓库,我们就需要从远程中同步到本地仓库
使用命令 git clone 远程仓库地址 克隆远程仓库内容到本地
如果我们有库,只需要同步一下就可以了,输入命令
git pull origin master 从远程仓库同步本地仓库
===================================================
下面我们讲一下git创建分支及其用法

git branch 查看所有分支 分支名前带* 指当前所在分支
git branch 创建分支
git checkout 分支名 切换分支
git checkout -b 创建并切换分支
git merge 分支名 合并分支
分支合并的时候最好使用这个
git merge --no-ff -m "merge with no-ff" dev
这个命令可以保证节点修改信息会生成一个log日志
git branch -d 分支名 删除分支
如果 你的开发工作正在进行,突然有一个紧急的bug需要修改,我们需要保存当前开发状态,,使用以下命令
git stash 保存当前分支的工作状态,之后可以再切回这个状态
git stash list 查看保存的工作状态
git stash apply 保存工作状态名称 切换到对应的工作状态
git stash drop 工作状态名称 删除保存的工作状态
git stash pop 恢复工作状态并删除保存记录
-------------------------------------------------------------------
下面主要讲一下对人协作开发一个项目,,
大家都从一个远程git上下载下来项目来进行开发,,但是有的人做的比较快先提交到远程git上,那么之后提交的程序员就会在提交的
时候出现提交失败的情况..应为后一个人本地库已经和远端git已经不同步了,我们需要先备份一下自己的项目,,然后同步一下,然后再提交自己的项目,这样就可以提交成功了..
git remote 查看远程库的信息.
git remote -v 显示更加详细的信息

-------------------------------------------------
当我们有多个远程库的时候,我们也可以跟多个远程库建立链接, 不过我们需要用不同的名称
来标识不同的远程库.
我们链接码云的远程库,在我们链接的时候起个别名

我们链接 国外的github远程库,我们一样起一个别名

这样我们 使用命令查看我们的链接的时候 git remote -v

为什么是两个地址呢, 应为一个是下载地址,一个是上传地址,当然两个地址一般都一样....
------------------------------------------------

关于创建标签和操作标签的一些操作
git show 版本号 查看版本详情
git push origin 分支名 tag名 将本地的tag提交到远程仓库
git push origin 分支名 --tags 将本地所有未推送的tag全部推送到远程仓库
git tag -d tag名 删除本地tag
git push origin 分支名 :refs/tags/tag名 删除远程仓库tag
|