git使用快速入门

git使用快速入门

Git是个了不起但却复杂的源代码管理系统。它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作。

工作步骤

  1. 创建一个远程的空代码库(在BitBucket上)
  2. 在本地代码库添加一个项目
  3. 在分支上开发新功能
  4. a) 保留新功能 或者 b) 丢弃它们
  5. 也许,回到某个早先的时间点
  6. 将本地代码库推送到远程代码库
  7. 在另一台机器上取得远程代码库

安装Git

在大多数*nix系统(Linux、OS X)上,Git已经被安装了. 或者使用

yum instal git 以及 apt-get install  

在Windows上,你可以在这里下载Git的安装程序

创建一个远程代码库

你可以使用 Github 或者 BitBucket,coding ,gitee 等创建一个代码库

设置Git

替换为你自己的用户名和邮箱需要引号

git config --global user.name "your_username"
git config --global user.email "your_email@domain.com"

创建一个本地代码库

进入项目的根目录执行以下命令,例如my_site文件夹

cd my_site
git init

Git会在my_site文件夹内创建一个名为.git的隐藏文件夹,那就是你的本地代码库。

加载(Stage)文件

我们现在需要命令Git我们需要加载(stage)所有项目文件。发送:
git add .
最后的“.”符号的意思是“所有文件、文件夹和子文件夹”。假如我们只想要把特定文件添加到源代码控制中去,我们可以指定它们:
git add "filename"

提交文件

用“initial commit”来作为第一个提交的注释。

git commit -m "initial commit"

现在你随时都可以回滚到这个提交状态。如果你有需要检查你现在的已加载(staged)和未加载(unstaged)文件的状态、提交等,你可以询问git的状态:

git status

创建分支

建立分支是你创建代码的独立版本的动作,独立于你的主干分支。默认地,每次你提交到Git的文件都会被储存到“master(主干)”分支。

你想要向项目里添加一个功能,但你想要能够回滚到现在版本,以防出现差错,或者你决定要放弃这个功能。这就是你创建分支的时候了

创建并同时切换到你新建的分支。

git checkout -b new_feature

或者,你可以先创建一个分支然后手动切换,就像这样:

git branch new_featuregit checkout new_feature

要看你现在项目下所有的分支。

git branch

你同时可以有多个分支,甚至可以从一个分支上再创建一个分支

合并分支

当你对你的新功能满意了的时候,你想要把它加到主干分支上。当你在你的新功能分支上时,你首先需要加载(stage)并且提交你的文件:

git add .git commit -m "adds my new feature"
# 然后你移到你的主干分支:
git checkout master
# 像这样合并:
git merge new_feature

丢弃分支

如果你打算丢弃你在分支里做的修改,你首先需要加载(stage)你的文件并且在分支里提交:

git add .git commit -m "feature to be discarded"
# 然后,你移到主干分支:
git checkout master

现在,你的代码处于你创建分支之前的状态了。

删除一个分支

如果你要把你的分支合并到主干分支,从主干(master)分支上执行:
git branch -d new_feature
假如修改已经合并了,它只会删除分支。假如分支没有合并,你会得到一个错误信息。删除一个未合并的分支(通常你不想保留的修改),你需要发送一样的命令附带一个大写D。意思是“强制删除分支,无论如何我不想要它了。”
git branch -D new_feature

回滚到之前的提交状态

在某些时候,你可能想要回到之前的代码版本。首先,你需要找到你想回到哪个版本。要看所有的完成了的提交。
git log
输出你的提交的历史记录,像这样:

commit ca82a6dff817ec66f44342007202690a93763949Author: your_username your_email@domain.comDate: Mon Nov 4 12:52:11 2013 -0700 changes the frontpage layout

如果你想回到“adds my new feature”这个提交,简单地用提交的ID做签出(checkout)(我通常只用到ID开头的9个字符)

git checkout 085bb3bcb

你也可以签出到一个新的分支,像这样:
git checkout -b my_previous_version 085bb3bcb

只是别太疯狂了!你的分支越复杂,就越难确定你真正在做什么。

推送到远程代码库

在第一次你想推送一个本地代码库到远程代码库时,你需要把它添加到你的项目配置里。像这样做:
git remote add origin "url"
注意这里的“origin”只是一个习惯。它是你的远程代码库的别名,但是你可以用其他任何你喜欢的词。你甚至可以有多个远程代码库,你只需要给它们起不同的别名。
之后,你想要推送你的本地代码库的主干分支到你的远程代码库:

git push origin master

取得远程代码库的一份本地拷贝

在你的代码库想要拷贝到的文件夹下执行

cd my_project 

git clone https://your_username@bitbucket.org/your_username/name_of_remote_repository.git 

# 从远程代码库上取得它最新的版本
git pull origin master

别名

Git允许你为你常用的命令创建快捷方式(别名)。例如,如果你不想每次都输入git commit -m “some comment”,而是输入git c “some comment”,你可以向你的git全局配置里添加一个别名来实现,像这样:
git config --global alias.c 'commit -m'

别名列表:

git config --global alias.c 'commit -m'
git config --global alias.co 'checkout'
git config --global alias.cob 'checkout -b'
git config --global alias.br 'branch'
git config --global alias.m 'merge'
git config --global alias.a 'add .'
git config --global alias.s 'status'
git config --global alias.dbr 'branch -d'

posted @ 2019-09-09 00:30  晓桦  阅读(585)  评论(0编辑  收藏  举报