zoukankan      html  css  js  c++  java
  • git常用命令

    链接远程库

    如果你还没有一份远程代码库的本地版本(例如,如果你在另一台机器上开始工作,这台机器上还没有用过这个项目),你首先需要拷贝(clone)它。去到你的代码库想要拷贝到的文件夹下,并发送:

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

    当然也可以直接clone ssh实际上一般都支持多个协议。
    如:

    $ git clone git@github.com:michaelliao/gitskills.git

    另一方面,如果你已经在本地的项目上工作了,只是想从远程代码库上取得它最新的版本,移动到项目的根目录下,并发送:

    git pull origin master

    加载(Stage)文件

    我们现在需要命令Git我们需要加载(stage)所有项目文件。发送:

    git add .
    
    2.0以上版本会提示警告,让你使用git add -A代替git add . 

    最后的“.”符号的意思是“所有文件、文件夹和子文件夹”。假如我们只想要把特定文件添加到源代码控制中去,我们可以指定它们:

    git add my_file, my_other_file

    提交文件

    现在,我们想要提交已加载(staged)的文件。阅读“添加一个时间点,在这里你的文件处在一个可还原的状态”。我们提交我们的文件时,总是附带着有意义的注释,描述了它们现在的状态。我一直用“initial commit”来作为第一个提交的注释。

    git commit -m "initial commit"

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

    git status

    推送到远程库上去

    在第一次你想推送一个本地代码库到远程代码库时,你需要把它添加到你的项目配置里。像这样做:

    git remote add origin https://your_username@bitbucket.org/your_username/name_of_remote_repository.git

    注意这里的“origin”只是一个习惯。它是你的远程代码库的别名,但是你可以用其他任何你喜欢的词。你甚至可以有多个远程代码库,你只需要给它们起不同的别名。
    之后,你想要推送你的本地代码库的主干分支到你的远程代码库:

    git push origin master

    如果你使用Bitbucket,在这时,你会被请求输入你的密码。照做,你的本地代码库会被推送到你的远程代码库上。

    合并分支

    当你对你的新功能满意了的时候,你想要把它加到主干分支上。当你在你的新功能分支上时,你首先需要加载(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
    commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7Author: your_username your_email@domain.comDate:   Mon Nov 4 11:40:33 2013 -0700    adds my new feature
    commit a11bef06a3f659402fe7563abf99ad00de2209e6Author: your_username your_email@domain.comDate:   Mon Nov 4 10:37:28 2013 -0700    initial commit

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

    git checkout 085bb3bcb

    你也可以签出到一个新的分支,像这样:

    git checkout -b my_previous_version 085bb3bcb

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

  • 相关阅读:
    [转]K/3加密控制规则
    修改Delphi2009的界面风格
    [转]软件版本号讲解: 什么是Alpha, Beta, RC
    百度程序题目连续数问题
    得到正整数a的16进制表示
    四舍五入至某小数位后返回数字串
    返回相同宽度数字型字符串
    百度程序题目连续数问题 另解
    求二进制表示中1的个数
    六支筷子取其二,恰为一双的概率
  • 原文地址:https://www.cnblogs.com/zjunet/p/4559918.html
Copyright © 2011-2022 走看看