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