赞
踩
https://www.cnblogs.com/xueweisuoyong/archive/2019/11/22/11914045.html
https://www.cnblogs.com/schaepher/p/5561193.html
想想你平时用的软件,在软件升级之后,你用的就是新版本的软件。你应该见过这样的版本号:v2.0 或者 1511(表示发布时为15年11月),如下图:
那么如果你修改并保存了一个文件,从版本管理的角度来说,你得到的是这个文件的新版本。
可是很多情况下,这种修改是不可逆的。你修改完之后,无法回到你修改前的样子。为了避免这种情况,有的人会把新版本的内容保存到一个新的文件里面。
由于 Git 更多地用于代码管理,举个程序员的例子。比如以下是计算机专业学生的作业:
这样存储多个文件夹,可能会造成混乱。你可能想保存以前写的代码,因为它们可能在以后会用到。但是更多的时候是,你不知道各个文件夹都做了什么修改。
这时候你需要一款软件帮你管理版本,它就是Git。
控制:
你可以用Git来对这些不同的版本进行控制。还可以很方便地查看两个不同版本之间的不同之处。
——使用Git,你只保存最新的一份文件就可以了。
——那我以前的文件怎么办?
——可以用Git的 reset 帮你把文件回退到你想要的版本。
——如果回去了,那我的最新版本呢?
——还可以用 reflog 和 reset 的组合来还原。
所有命令前都要加 git,如表中的init是指 git init。
点击命令可直接跳转至本文第一次使用的地方。
以下命令都在命令行里执行。
1.个人本地使用
2.个人使用远程仓库
可以用一张图直观地看出以上主要的命令对仓库的影响。
workspace 即工作区,逻辑上是本地计算机,还没添加到repository的状态;
staging 即版本库中的stage,是暂存区。
修改已经添加进repository,但还没有作为commit提交,类似于缓存;
Local repository 即版本库中master那个地方。到这一步才算是成功生成一个新版本;
Remote repository 则是远程仓库。用来将本地仓库上传到网络,可以用于备份、共享、合作。本文将使用Github作为远程仓库的例子。
安装包可以到官方网站https://gitforwindows.org/下载,或者在github下载。如果下载不下来,可以把链接复制下来用迅雷下载。如果用迅雷下载不放心,在下载完后去在github下载的那个地方查看SHA-256值,并和下载的文件对比,如果值一样就可以放心使用。
安装的时候一路点击Next就行了。
刚安装完打开后,窗口比较小。如果不太习惯,可以把它改大一些。
首先移到窗口右下角边缘,出现箭头后把窗口拉大。
点击窗口顶部左边的图标 -> Options… -> Window -> Current size -> OK
这样以后打开窗口都会是调整后的大小。
Git for Windows从2.8.0版本[3]开始,默认添加环境变量,所以环境变量部分就不用再手动配置了。(这句可以无视)
打开命令行(cmd)快捷键windows+r
进入想要进入的文件夹,我这里在d盘创建了一个repository文件,输入同样的指令就行了
或者在想要创建repository的地方右键鼠标并点击 Git Bash Here 打开窗口。
这里可以看见初始化建立了一个文件夹
我们来新建一个txt文件测试一下功能
使用命令git status查看状态
这里需要我们添加文件进去使用命令 git add filename
状态变了!说明add成功。再看看它的提示 Changes to be committed ,也就是说现在可以执行commit了。下面一行则告诉你如何将文件从stage里移出,这里不管。
执行 git commit -m “提交信息” 将文件提交到repository里。提交信息用英文的双引号括起来
注意命令行之间的空格也是很关键的,不要少打一个空格,这里我们可以看到我们没有定义自己的邮箱和用户名所以git不知道我们是谁,不知存在哪里。
提交你自己的邮箱和用户名,这里一般要更改,再次提交
查看提交记录
修改txt文件
通过git status 和git diff查看状态
发现更改的变化,再用中文尝试一次更改
再次提交
这里发现commit后面又一串黄色的字符,
执行回退命令 git reset --hard f5230d2,前七位就行了。
再次查看后发现已经倒回原先版本
现在已经看到了之前版本的内容,那么如何回到最新版呢?
先执行 git reflog :
可以看到HEAD的变化情况。
第一行表示当前HEAD所在的版本号是 f5230d2 ,而之所以在这个版本号,是由于我们执行了reset命令。
看第二行,它告诉我们,这个HEAD所在的版本号是 d1c22e8 ,这个版本号是在执行commit之后形成的。
此时我再用一次reset,将HEAD指向 d1c22e8 , 同时查看log :
1,到github注册账号。
2,本地配置用户名和邮箱,并查看你的用户名和邮箱配置完成(如果已经设置好,跳过该步):
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
git config --list
3,配置本地git完成后,生成SSH 密钥,配置SSH公钥。
ssh-keygen -t rsa -C "your_email@youremail.com"
cd ~/.ssh
ll
执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示。输入密钥的密码的(如下图中红色箭头处,输入两次相同的,即是又一次确认密码),不需要密码直接回车就行。
Generating public/private rsa key pair. #正在生成公钥/私钥对。
Enter file in which to save the key (C:/Users/Administrator/.ssh/id_rsa): #输入key的保存位置,直接回车即可。
Enter passphrase (empty for no passphrase): #如果不想设置密码直接不输入内容,按 Enter键即可。
查看密钥
cat id_rsa.pub 或
vim id_rsa.pub 或
cat ~/.ssh/id_rsa.pub
将生成的密钥复制到github中
点击下面的 Add SSH key 就添加成功了。
测试一下吧,执行
ssh -T git@github.com :**
创建好之后打开就能看见ssh
在git中运行
git remote add origin 你复制的地址
关联成功后
以后想在commit后同步到Github上,只要直接执行 git push 就行啦
**
复制别人远程仓库的SSH。方法和上面关联git一样,进入仓库页面后,就能找到SSH地址。这里我用的的是我最近需要的一个衣物识别的资源项目
输入命令
git clone 你复制的ssh,
输入密码,开始白嫖
注意报错:fatal: failed to load library ‘libcurl-4.dll’,一般是中文软件路径导致,重新下载git即可。
注意报错:fatal: unable to access ‘https://github.com/xxxx/xxxx.git/‘: SSL certificate problem:,不要用https去克隆用git地址克隆。
注意!这里clone下来的分支是主干
如果想克隆其他分支:
git branch -a
git checkout 分支
就可以进入到其他分支啦。
每一项项目的完成基本都是由一个团队完成的,于是乎github上的团队协作就显得尤为重要了,现在来了解一下基本的团队操作过程。
参考教程
https://www.cnblogs.com/schaepher/p/4933873.html#first
流程:第一次拔下来项目
git clone 项目
git branch -a 查看分支
git checkout 分支
修改代码
git add .
git commit -n “注释”
查看冲突
git fetch
提交
git push
第二次 提交
git pull
修改代码
git add .
git commit -n “注释”
查看冲突
git fetch
提交
git push
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。