Git 的初始化
使用 Git 的第一件事就是设置你的名字和 email,这些就是你在提交 commit 时的签名,每次提交记录里都会包含这些信息。使用 git config 命令进行配置:
$git config --global user.name "名称"
$git config --global user.email "邮箱"
git config --list
执行了上面的命令后,会在家目录下建立一个叫 .gitconfig 的文件(该文件为隐藏文件,需要使用 ls -al 查看到). 内容一般像下面这样,可以使用 vim 或 cat 查看文件内容:
$ cat ~/.gitconfig
[user]
email = 邮箱
name = 名称
Clone一个仓库
打开本地目录
$ cd /home/***/
克隆git仓库
$ git clone https://github.com/***/gitproject
克隆完查看本地仓库
$ cd gitproject/
(master)$ ls
README.md
初始化一个新的仓库
可以对一个已存在的文件夹用下面的命令让它置于 Git 的版本控制管理之下。
创建代码目录 project:
$ cd /home/***/
$ mkdir project
进入到代码目录,创建并初始化Git仓库:
$ cd project
$ git init
Git 会输出:
Initialized empty Git repository in /home/***/project.git/
通过 ls -la 命令会发现project目录下会有一个名叫 .git 的目录被创建,这意味着一个仓库被初始化了。可以进入到 .git 目录查看下有哪些内容。
Git 的基本流程如下:
1、创建或修改文件
2、使用 git add 命令添加新创建或修改的文件到本地的缓存区(Index)
3、使用 git commit 命令提交到本地代码库
4、(可选,有的时候并没有可以git同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
进入我们刚才建立的 project 目录,分别创建文件 file1,file2,file3:
$ cd /home/***/project
$ touch test
修改文件,可以使用 vim 编辑内容,也可以直接 echo 添加测试内容。
$ echo "test" >> test
此时可以使用 git status 命令查看当前 Git 仓库的状态:
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>...") to include in what will be committed)
test
nothing added to commit but untracked files present (use "git add" to track)
可以发现,有三个文件处于 untracked 状态,下一步我们就需要用 git add 命令将他们加入到缓存区(Index)。
使用 git add 命令将新建的文件添加到缓存区:
$ git add test
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new test:test
你现在为 commit 做好了准备,你可以使用 git diff 命令再加上 --cached 参数,看看缓存区中哪些文件被修改了。进入到 git diff --cached 界面后需要输入 q 才可以退出:
$ git diff --cached
如果没有--cached参数,git diff 会显示当前你所有已做的但没有加入到缓存区里的修改。
如果你要做进一步的修改, 那就继续做, 做完后就把新修改的文件加入到缓存区中。
使用 git commit 提交到本地仓库:
$ git commit -m "add 3 files"
需要使用 -m 添加本次修改的注释,完成后就会记录一个新的项目版本。除了用 git add 命令,我们还可以用下面的 -a 参数将所有没有加到缓存区的修改也一起提交,但 -a 命令不会添加新建的文件。
$ git commit -m "add 3 files"
再次输入 git status 查看状态,会发现当前的代码库已经没有待提交的文件了,缓存区已经被清空。
我们当前的仓库是使用 git init 初始化的本地仓库,所以我们需要将本地仓库与远程仓库关联,使用如下命令(需要修改下面的远程仓库地址为自己的仓库地址):
$ git remote add origin https://********
对于上述命令而言,git remote add 命令用于添加远程主机,origin 是主机名,此处我们可以自定义,不一定非要使用 origin,而 https://github.com/****/***.git,是我自己的远程仓库,此处 需要替换为自己的远程仓库地址
# 需要输入仓库对应的用户名和密码
如果密码账号或密码输入错误执行下面命令即可重新输入账号密码
git config --system --unset credential.helper
$ git push origin master
账号配置
git config --global user.name '***'
git config --global user.email "*****"
git init
git init //使用当前目录作为Git仓库,我们只需使它初始化
git init newrepo //使用我们指定目录作为Git仓库
git remote add origin https://*******
touch test.php
git add .
git push origin master
git clone
git clone <repo> //从现有 Git 仓库中拷贝项目到当前目录
git clone <repo> <directory> //从现有 Git 仓库中拷贝项目到指定目录
git pull
git pull <远程主机名> <远程分支名>:<本地分支名>
//取回远程主机某个分支的更新,再与本地的指定分支合并
git add
git add <file> 将该文件添加到缓存
git add . 将所有文件添加到缓存
git commit
将缓存区内容添加到仓库中
git commit -m "说明"
git status
查看在你上次提交之后是否有修改和分支信息
二、分支管理
git branch
git branch (branchname) 创建分支
git branch 查看分支信息
git branch -d (branchname) //删除分支
git checkout
git checkout (branchname) 切换分支
git checkout -- file //会用暂存区全部或指定的文件替换工作区的文件
git checkout -b (branchname) 创建并切换分支
git merge branch1 . 合并分支
git log //git log 命令列出历史提交记录
git log --oneline 查看历史记录的简洁的版本
Git 远程仓库(Github)
git remote add [shortname] [url] //添加远程库
git remote //查看当前配置有哪些远程仓库
git remote -v
git fetch //相当于是从远程获取最新版本到本地,不会自动合并
git merge origin/master
git push [alias] [branch] //推送新分支与数据到某个远端仓库
git remote rm [别名] //删除远程仓库
git remote rm origin2
git reset HEAD //取消已缓存的内容
git reset -–hard commitid