Git入门篇

git常用命令

请使用status命令确认工作树和索引的状态。

$ git status

将文件加入到索引,要使用add命令。在<file>指定加入索引的文件。用空格分割可以指定多个文件。

$ git add <file>..

指定参数「.」,可以把所有的文件加入到索引。

$ git add .

请执行如下显示的commit命令。

$ git commit -m “”

执行commit命令之后确认状态。

$ git commit -m “first commit”

$ git status

# On branch master

nothing to commit (working directory clean)

从status响应我们可以看到没有新的变更要提交。

使用log命令,我们可以在数据库的提交记录看到新的提交。

$ git log

可以将远程数据库命名为“origin”。

请使用remote指令添加远程数据库。在<name>处输入远程数据库名称,在<url>处指定远程数据库的URL。

$ git remote add <name> <url>

git remote add origin <git的http地址>

执行推送或者拉取的时候,如果省略了远程数据库的名称,则默认使用名为”origin“的远程数据库。因此一般都会把远程数据库命名为origin。

使用push命令向数据库推送更改内容。<repository>处输入目标地址,<refspec>处指定推送的分支。我们将在高级篇详细地对分支进行说明。

$ git push <repository> <refspec>…

运行以下命令便可向远程数据库‘origin’进行推送。当执行命令时,如果您指定了-u选项,那么下一次推送时就可以省略分支名称了。但是,首次运行指令向空的远程数据库推送时,必须指定远程数据库名称和分支名称。

$ git push -u origin master

使用clone指令可以复制数据库,在<repository>指定远程数据库的URL,在<directory>指定新目录的名称。

$ git clone <repository> <directory>

执行以下指令后,会在目录(test2) 复制远程数据库。

$ git clone <git的http地址> test2

test2进行的操作

然后,推送此次变更,更新远程数据库。

当在克隆的数据库目录执行推送时,您可以省略数据库和分支名称。

$ git push

从“test2”推送到远程数据库的内容拉取到数据库目录“test

使用pull指令进行拉取操作。省略数据库名称的话,会在名为origin的数据库进行pull。

$ git pull <repository> <refspec>…

test进行的操作

请执行以下指令。

$ git pull origin master

使用log指令来确认历史记录是否已更新。

$ git log

git远程分支覆盖本地分支

有时候同一个分支,远程的和本地的都被修改的面目全非了,如果想要把本地的替换成远程的,用下面的命令

git fetch –all

git reset –hard origin/master (这里master要修改为对应的分支名)

git pull

Git 全局设置

  • Git的设定被存放在用户本地目录的.gitconfig档案里。虽然可以直接编辑配置文件,但在这个教程里我们使用config命令。

git config –global user.name “banyungong”

git config –global user.email “banyungong@test.com”

  • 以下命令能让Git以彩色显示。

git config –global color.ui auto

  • 可以为Git命令设定别名。例如:把「checkout」缩略为「co」,然后就使用「co」来执行命令。

git config –global alias.co checkout

创建一个新仓库

git clone <url>

cd test

touch README.md

git add README.md

git commit -m “add README”

git push -u origin master

推到一个存在的文件夹中

cd existing_folder

git init # 然后使用init命令把该existing_folder目录移动到本地Git数据库。

git remote add origin <url>

git add .

git commit -m “Initial commit”

git push -u origin master

推到现有的 Git 仓库

cd existing_repo

git remote rename origin old-origin

git remote add origin <url>

git push -u origin –all

git push -u origin –tags

git管理代码的工作原则

  • 不同版本的代码,在同一个仓库,需要打上不同的tag
  • 开发要在分支上,例如dev分支
  • 使用开发分支上线,上线没有问题之后合入master,方便代码回滚(用master就可以代码回滚)
  • master的代码需和线上代码保持一致
  • 上线之后,给master打上tag,方便以后代码恢复
  • 以上线的版本代码都能有办法恢复
  • 版本迭代更新时,需要从master分支上拉代码到dev,再开始开发

上传代码到dev分支

git status
git add .
git commit -m "更新的功能"
git push origin dev

合并分支到master

git checkout master
git pull origin master
git merge dev
git status
git push origin master