——————————下载git——————————
Git Bash Here 打开窗口,就可以运行git命令。
——————— git远程仓库配置————————
(1)配置Git:
首先在本地创建ssh key,输入进去就好。
$ ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com
改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车。成功的话会在~/
下生成.ssh
文件夹,进去,打开id_rsa.pub
,复制里面的key,复制到GitHub里面创建ssh key的地方。
然后去github上登录你的相应账号找ssh key,输入。
下面是检查你是否成功连上github的方法:
在git bash下输入: ssh -T git@github.com
以下是成功的样例:
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"$ git config --global user.email "your_email@youremail.com"
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
创建新文件夹,打开,然后执行 git init
以创建新的 git 仓库。
(以下有关上传远程仓库的内容在(五)git远程操作)
—————————————以下是关于git使用的配置———————————————
(一)git使用前的配置:git config
首先需要基本信息:
[1] git config --global user.name 提交人姓名配置(注意:空格后加上名字,邮箱同)
[2] git config --global user.email 提交人邮箱配置
[3] git config --list 查看git配置信息
(注1:配置只需要执行一次,以后都可以用)
(注2:如果配置有问题,重新进行上述操作)
(注3:还可以通过寻找文件的方式完成对这个的修改:
打开文件(我是随便用了pycharm)
然后可以看到,直接在这个基础上修改,保存即可。
)
(二)git工作基本流程——提交,提交日志
[1]git init 初始化git仓库
git init (目录)在目录生成一个.git 目录,如果省略,则在当前目录生成。
[2]git status 查看文件状态(查看哪些文件没有被git管理)
第一行是分支(不会)第二行指的是暂存区内没有文件 第三行指的是有哪些没有被跟踪的文件
执行完git add test001.txt后是:
注:git status -s 可以获得简短的输出结果(未实现,未知)
[3]git add (文件名)追踪文件
给i他
[4]git commit -m(提交信息)从暂存区提交代码到仓库中
注:必须写提交信息,不然无法提交成功。
[5]git log 查看提交记录
[6]git blame <file> 以列表形式查看指定文件提交修改记录
[7]git clone <git仓库> <本地目录> 从现有git仓库拷贝项目到指定目录(可以不写)
(三)git工作基本流程——撤销,删除
[1]git checkout
git checkout (文件名) 用暂存区中文件覆盖工作目录文件
[2]git rm 命令
git rm <file> 将文件从暂存区与工作区中删除
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
git rm -f <file> 强制从暂存区与工作区删除已经修改的文件
git rm --cached <file> 从索引中删除文件。
但是本地文件还存在, 只是不希望这个文件被版本控制。
把文件从暂存区域移除,但保留在当前工作目录中,换句话说,仅是从跟踪清单中删除
[3]git reset命令
git reset --soft|--hard [HARD]
git reset HEAD^ 回退上一个版本
git reset HEAD^ test001.txt 回退test001.txt版本到上一个版本
git reset (版本号)回退到指定版本
git reset --soft HEAD~X 回退到上x个版本
//注意:git reset hard 撤销了工作区的所有内容,返回相应版本。
git reset -hard HEAD~X 回退到上x个版本
git reset -hard (版本号)回退到指定版本
git reset --hard origin/master 将本地状态回退到与远程的一样
git reset HEAD //取消已经缓存的内容
(四)Git分支管理
[1]git branch (name) 创建分支
[2]git checkout (name) 切换分支
[3]git checkout -b (branchname)创建新分支并且切换到分支下操作(捷径方法)
[4]git branch 列出分支
[5]git branch -d (name) 删除分支
[6]git merge 合并分支
(五)git远程操作(这才是将数据上传给github的操作)
[1]git remote命令
git remote -v 显示所有远程仓库
git remote show [remote] 显示某个远程仓库的信息
git remote add [shortname] [url] 添加远程版本库
注:shortname 为本地库,至于url怎么获得:
git remote rm [name] 删除远程仓库
git remote rename oldname newname 更改仓库名
[2]git fetch 提取远程仓库,下载新分支与数据
(有待实践)
[3]git merge 从远程仓库提取数据并且尝试合并到你当前的分支
[4]git push命令(使用后应该会让你登录github,输入验证码之类的)
git push [alias] [branch]推送到远程仓库
git push [alias] [branch] 将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支
git push <name> <branch>:<branch>将本地的分支版本上传到远程并且合并
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master 推送到远程仓库
git push --force origin master 当本地版本与远程版本有差异,又要强制推送
git push origin -- delete master 删除origin主机的master分支
[5]git pull命令
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull 或者git pull origin 更新操作
git pull origin (master):(branch)
将远程主机的master分支拉过来,与本地的branch分支合并
git pull origin master :
远程分支和当前分支合并,则可以上述这样写
(六)Git标签
git tag -a <tagname> -m (注释) 打标签
git tag 查看所有标签
git tag -d (name) 删除标签
git push origin -tags 提交标签
后记:
本人只是刚接触git,做这个的目的是为了巩固。许多细节操作还没有实践,肯定会有很多疏漏之处与错误之处,而且有些写的及其草率。以后用多了发现表述不对或者错误会回来修正。
欢迎指正