git项目实操
新建本地git项目目录
新建项目文件(可以是任何类型文件,如文本、各种代码源文件、图片、视频文件等)
初始化当前目录成git项目
在当前目录下执行命令git init
用ls -al命令查看,此时当前目录下多了一个隐藏文件.git,里面包含git相关的各种配置文件信息:
配置git全局用户名、邮箱、密码等信息
git config --global user.name 'zhangsan'
git config --global user.email '[email protected]'
git config --global user.password '******'
设置完成后可通过命令git config --list 查看
git常用操作
查看本地仓库状态git status
红色代表这些文件没有加入git版本控制,执行git add命令将其加入
之前红色文件变成绿色了,代表这些文件已经被加入到暂存区(stage),如果这个时候我们发现暂存区里有个文件提交错了,它本来不应该加入的,那可以执行命令git rm --cached 文件名 来达到反悔的目的(当然这不影响工作区原始文件)
同理,如果已经在暂存区里的文件被修改了,此时需要再次执行git add命令将其重新加入暂存区。
提交暂存区文件到本地分支
执行git commit -m '提交说明'
执行git log查看历史提交记录
推送本地项目到远程git仓库(本文以github远程仓库为例)
1.首先找到远端git仓库看地址[email protected]:JohnnyXiao/myProject.git
2.将本地仓库与远程仓库建立联系
执行命令git remote add origin [email protected]:JohnnyXiao/myProject.git
执行前:
执行后:
3、从远端同步文件到本地
执行命令git pull
如果报错,类似下图:
说明你没有权限拉取文件,需要配置ssh key
添加成功后:
那么问题来了,ssh key从哪里获取?
答案:ssh工具可以生成key,具体方法
执行ssh-******命令,一路回车确认即可
然后查看主目录下生成的ssh公钥,执行命令cat ~/.ssh/id_rsa.pub
复制这个文件里面的内容粘贴到在github上点击New SSH Key弹出的框框中,确定。
再次执行git pull命令,成功了:
此时我们尝试push本地文件到远端
很不幸,失败了,看失败提示信息:当前分支没有设置上游分支,啥意思?原因是远程分支和本地分支有不一样的内容,二者之间需要在本地同步之后才可以push上去,执行命令git branch --set-upstream-to=origin/master
然后同步一下本地分支和远程分支,执行命令git pull --rebase
再来看提交记录,执行命令git log,本地和远程分支的提交合并到一起了:
此时可以继续push本地文件到远程分支了,执行命令git push -u origin master:
好了,现在我们去远程github仓库里看看有什么变化没:
本地文件提交到远端仓库成功了
下面我们在远端仓库里新建文件,在本地pull看是否成功
本地执行命令git pull,成功了:
执行命令git log查看,会新增一条提交记录
至此,本地新建项目然后和远程仓库同步(拉取和推送)操作已顺利完成。
如果你的原始代码保存在远程仓库而你本地无项目,现在你只是想从远程仓库拉取原始代码到本地进行开发或者修改然后再同步到远端,那操作更简单了:
1.找到远程仓库地址(该步骤前面已经进行过):[email protected]:JohnnyXiao/myProject.git
2.进入你想保存远端代码的目录,执行命令git clone [email protected]:JohnnyXiao/myProject.git
3.拉取成功后,ls -al查看下当前目录是否多了一个新的子目录:
cd myProject目录,执行命令git log查看,远端仓库所有的提交记录都到本地了,文件也和远端仓库里的一样
然后你就可以在本地进行代码开发了,之后如何提交的流程跟前面讲的是一样的了。
好了,写这篇文章一是自己对git相关知识做个总结加深对它的理解,方便日后需要时可以随后查询,二来希望能帮到正在使用git又刚好遇到了一些问题的朋友,这些仅一家之言,有错误或者不严谨之处各位看官请轻拍、指正,感激不尽。
当然git是个功能非常强大的代码管理工具,以上所列只是皮毛,后面有机会接触到更多的git功能再跟大家分享了。