Git学习笔记

来源:互联网 发布:sqlserver时间比较 编辑:程序博客网 时间:2024/06/03 23:55

/*本学习笔记参照
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
*/

一、为什么学习Git
Git是一个代码托管平台,我们在开发软件的时候,可以找到各个阶段递交的版本,并且发现其修改的地方并返回;
github是一个远程的代码托管平台,特别是团队开发的时候方便团队协作,此时该平台相当于一个不关机的服务器,任何时候团队都可以从中拷贝代码并更改。更改结束可以push上去;
github对于现阶段开源项目很有帮助,全世界开发人员可以基于这个平台fork一个版本,修改之后推送,只要管理员同意就ok。
其他,对于开发小的项目而言,意义似乎不大。只是将一些工程放到远程托管,显得有些高大上有木有!

二、Git的工作区,暂存区和库
工作区:working directory
暂存区:
库:repository
我们在新建一个如test.cpp文件的时候,更改都是在工作区,当改好之后可以采用指令

git add test.cpp

本地初始化一个git repository

mkdir testcd testgit init

这样增加到暂存区
暂存区递交到版本库采用

git commit test.cpp -m ‘the first version

这里-m后面的可以理解为你递交的该版本有哪些改动,方便日后查询

三、 Git的分支(branch)
一般团队开发软件,应该每个人fork出一个branch进行修改,修改好了之后删除branch,然后合并到主分支master中。

//开发新分支devgit branch dev//转移到dev分支git checkout dev//修改完毕转移到master主分支git checkout master//合并分支git merge dev//删除dev分支git branch -d dev//查看分支状态,其中此时在哪个分支上,该分支名前面有个*号git branch

四、 往远程库github上推送和拉取
1. 在本地git bash上面输入指令

ssh -keygen -t rsa -C “your email address”

这里是为了产生共有密钥,一直回车,在目录下找到id_rsa.pub文件,将该文件内容加到你的github网页下的ssh密钥中去即可授权本地向远程推送。

2.在远程github中建立一个新的repository,比如test8-12
3.在本地建立与远程联系

git remote add origin /*这里写克隆你的库的地址*/

4.将远程库拉下来

git clone /*你的库地址*/

5.修改推送

git add test.cppgit commit test.cpp -m ‘the first version’git push -u origin master 

以后push直接采用

git push orign master

即可!

五、版本回退
这里需要查看版本日志才行

git log或者git log --pretty=oneline

要退回上一个,上上个版本分别为

git reset --hard HEAD^git reset --hard HEAD^^ 

如果是前100个,可能就需要看id号,然后回退

git reset --hard id

六、总结
对于需要开发一个项目,并将该项目推送到github,则应该为:
1.在本地安装git bash,安装地址为:https://git-for-windows.github.io/
然后可以打开git bash,这个跟ubuntu下面的terminal很像啦;
2.在远程github加上ssh密钥,ssh密钥本地生成为:

ssh-keygen -t rsa -C "youremail@example.com"

3.在远程的github库中新建一个repository,命名为test
4.远程的test 与本地建立联系

git git remote add origin /*你的repository克隆地址*/

5.将远程repository拉下来,进行增加文件,修改等操作

git clone /*远程repository地址*/6.本地操作的一些指令为://查看状态git status//add到暂存区git add test.cpp//传递到版本库git commit test.cpp -m ‘the first version//查看版本信息git log --pretty=oneline//版本回滚git checkout --hard HEAD^或者HEAD^^或者id//取消修改git checkout --filename//创立分支,合并分支和删除分支//查看分支状态git branch//创立分支git branch dev//切换分支git checkout dev//合并dev到当前分支git merge dev//删除分支git branch -d dev

6.将本地提交到远程

//第一次提交git push -u origin mastergit push origin master
0 0