Git&GitHub学习笔记(一)
一.Git基本概念
repository
repository是仓库的意思,如果你想开源一个项目,那么你就必须建立一个repository。
issue
issue是问题的意思,如果你的开源项目中有bug或者有不好的地方,那么别人就可以给你提意见,这就是issue。提的意见多了就是issues。你看到这些issues就可以去修复。
star
star就是给你的项目“点赞”。不过GitHub上得到别人的点赞还是比较难的。
fork
fork原本的意思是“叉子”。这可以理解为别人想在你的项目上做改动,然后把它运用到自己的项目上。
Pull Request
Pull Request是发起请求的意思。别人fork了你的项目以后,做了改动,然后他想把他改动后的项目合并到原来的项目中,那么他就可以发起请求。此时,你就会收到这个请求,你可以审查他的代码,如果你同意,那么就接受这个请求。
Watch
Watch是“关注”的意思,可以类比微博中的关注。当你关注了某个项目,那么这个项目有任何的更新,你都会收到通知。
二.Git基本命令
注意: 在使用Git命令之前,要先建立一个文件,这个文件就是Git仓库。所有的Git命令都要在这个文件中进行。
git init
仓库初始化,就是把那个文件变成仓库文件。
git status
查看状态。
git add
git add命令是用来操作想要提交的文件。例如,git add a.md 命令执行后,a.md文件就处于等待被提交的状态。
git commit -m “提交信息”
这是正式提交命令。上述的git add命令只是让文件处于缓冲区,并没有真的提交,这样做的目的是防止误提交。-m 后面表示此次提交的提交信息。
git log
git log用于查看所有的提交记录。
git branch
git init对仓库初始化以后,会默认建立一个名为master的分支。git branch用来查看分支的情况。
git branch a
新建一个名为a的分支。
git checkout a
切换到a分支。
git checkout -b a
把git branch a和git checkout a这两个命令合并为一个命令,即新建一个名为a的分支并自动切换到a分支。
git branch -d
删除分支。例如:git branch -d a 就是删除分支a的命令。
git branch -D
强制删除分支。因为git branch -d 有可能删除分支失败,所以需要强制删除。
git tag
首先介绍一下版本的概念,我们在开发软件的时候,都会有版本号,比如v1.0,v1.1。那么如果v1.1出现了bug,此时想知道v1.0有没有bug,只需要切换到v1.0然后测试代码即可。那么,这么做的前提就是建立标签。
git tag v1.0 就是在当前代码状态下建立了一个v1.0的标签。而git tag 是查看历史tag记录。
git checkout v1.0
git checkout 不仅有切换分支的功能,还有切换标签的功能。
git clone
从远程仓库clone项目到本地。可以把clone理解为复制。例如要把名为test的远程项目clone到本地,可以执行如下命令:
git clone [email protected]:renyixu/test
此处的[email protected]:renyixu/test
可以从GitHub网站对应的项目中获取,这个我相信你们可以解决。
git pull origin master
把远程仓库的代码同步到本地。
git push origin master
把本地的代码同步到远程仓库。
git remote -v
查看当前项目有哪些远程仓库。
git remote add origin [email protected]:renyixu/test
把本地项目与远程仓库关联。
三.提交代码
向远程仓库提交代码有两种方式:
方式1:
本地没有Git仓库。从GitHub上clone下某个项目(假设为test项目),此时test项目就被clone到了本地了,而且此时的本地的test项目已经是一个完整的仓库,不需要进行仓库初始化,而且也不需要与远程的仓库关联了,可以直接进行提交。
方式1的具体提交代码的操作:
1.切换到本地test项目下。
2.git add 你想要提交的文件(如果有多个要提交的文件,那么就需要进行多次git add命令,即每个文件都需要进行一次git add命令)。
3.git commit -m "提交信息"
4.git push origin master
方式2:
本地有Git仓库。
方式2的具体提交代码的操作:
1.在GitHub上创建一个test01项目(此处以test01项目为例)。
2.在本地新建一个test01文件,并切换到test01目录。
3.初始化test01仓库,具体命令为:git init
4.把本地仓库与远程仓库关联。具体的命令为:git remote add origin [email protected]:renyixu/test01 ,此处的origin是给仓库取的名字,当然名字可以随便取,不过当只有一个远程仓库的时候,一般默认就取origin。
5.把远程仓库的文件同步到本地仓库,这是很重要的一步,没有这一步,后面提交代码的操作就会失败。具体的命令为:git pull origin master
6.git add你想要提交的文件,同方式1,此处不再赘述。
7.git commit -m "提交信息"
8.git push origin master