Git - 学习笔记
声明:本文为 ryanluoxu 原创文章,欢迎转载,请在明显位置注明出处。
学习素材:Pro Git
常用指令
1 | git add #添加到下一次的提交中。 |
Git 周期
![Git 周期](/images/Git 周期.png)
Git 基础
获取 Git 仓库
两种方法:
- 初始现有文件夹 初始后的文件夹里多了一个 .git 的文件夹,这就是本地 repository。
1
git init
- 克隆已有的 Remote Repository会在当前文件夹里生成
1
git clone https://github.com/Ryanluoxu/learn_linux.git
learn_linux
文件夹。里面也有 .git 文件夹作为本地 repository。 Remote repository 里的内容先进入到本地 repository,然后才到learn_linux
文件夹。
提交文件
文件的三种状态
- 已修改 modified : 对某个文件进行修改,保存完成。
- 已暂存 staged : 执行
git add
之后 - 已提交 committed : 执行
git commit
之后
这里的提交目的地,是本地 repository。
常用的 github 为 remote repository。
如果需要将本地 repository 同步到 github 上,需要执行 git push
。
所以对本地文件进行修改,到同步到 github,基本流程如下:
git status
1 | git status |
举例:
1 | M README #文件被修改了但是还没放入暂存区 |
git ignore
创建一个名为 .gitignore
的文件,列出要忽略的文件模式。
1 | # no .a files |
git diff
1 | git diff #本地文件 - 暂存区域 |
git commit
1 | git commit -m "Story 182: Fix benchmarks for speed" |
跳过 git add
, 把所有跟踪下的文件暂存,然后提交。
1 | git commit -a -m 'added new benchmarks' |
远程仓库
查看已经配置的远程仓库服务器:
1 | git remote -v |
添加远程 Git 仓库:
1 | git remote add <shortname> <url> |
抓取:从远程仓库中获得数据,放到本地仓库:
1 | git fetch [remote-name] |
拉取:从远程仓库中获得数据,然后合并到当前分支:
1 | git pull |
Push existing project to github
- Create new repo in github called : hexoBlog
- git bash
1
2
3
4
5
6$ git init
$ git add --all
$ git commit
$ git remote add origin https://github.com/Ryanluoxu/hexoBlog.git
$ git push
$ git status - there is one folder always in
untracked
mode.1
modified: next (modified content, untracked content)
- realised
next
is cloned from github. Itself contains a .git folder. - remove
next
local git repo.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17$ cd theme/next/
$ rm -rf .git
$ cd ../..
$ git status
nothing to commit, working tree clean
$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
$ git push -u origin master #org
existing project -> remote repo & eclipse
- create empty remote repo:
myProject
- git bash on
~/workspace
- clone repo
1
git clone <**/myProject.git> # create `~/workspace/myProject`
- copy existing project files into
~/workspace/myProject
- git push to remote repo
1
2
3
4cd ~/workspace/myProject
git add --all
git commit -m "initial commit"
git push - Add local repo to Eclipse.
- open git repo window
- add local git repo and choose
~/workspace/myProject
- Go to working directory and import existing project
- Once code change.
- Right click project
- team - commit - give commit message - commit and push