git基本操作

  • 通过git init命令把当前目录变成Git可以管理的仓库
  • 用命令git add告诉Git,把文件添加到仓库:
    git add readme.txt

    git add -A .添加所有改变的文件。

    注意 -A 选项后面还有一个句点。 git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件。

  • 用命令git commit告诉Git,把文件提交到仓库:
    git commit -m "wrote a readme file"

    简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

    嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。

  • 版本控制系统用git log命令查看历史记录(如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数)
  • 在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
    使用git reset回到之前的版本:

    $ git reset --hard HEAD^
    HEAD is now at *** add distributed

    当你用$ git reset --hard HEAD^回退到上一个版本时,再想恢复到当前版本,就必须找到当前版本的commit id。Git提供了一个命令git reflog用来记录你的每一次命令

    $ git reflog
    e475afc HEAD@{1}: reset: moving to HEAD^
    1094adb (HEAD -> master) HEAD@{2}: commit: append GPL
    e475afc HEAD@{3}: commit: add distributed
    eaadf4e HEAD@{4}: commit (initial): wrote a readme file
  • git checkout -- file可以丢弃工作区的修改:
    $ git checkout -- readme.txt

    命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    总之,就是让这个文件回到最近一次git commit或git add时的状态。

  • 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容
  • 记住账号和密码,下一次输入账号密码之后,系统就会记住账号密码,无需再输入了
    git config --global credential.helper store
  • 创建本地分支
    git checkout -b 新分支名
  • 推送本地分支到远程仓库
    git push --set-upstream origin 分支名
  • 将远程git仓库里的指定分支拉取到本地
    git checkout -b 本地分支名 origin/远程分支名
  • 将当前分支提交到一个新的分支
    git push origin 当前分支名称:新分支名称
  • 切换本地分支
    git checkout 本地分支名
  • 删除本地分支
    git branch -d 本地分支名
  • 查看commit记录
    git log --oneline -3
  • 拷贝提交记录到当前分支
    git cherry-pick 提交id
  • 强行pull覆盖本地文件

    git fetch --all  
    git reset --hard origin/master 
    git pull
    
原文链接:,转发请注明来源!
评论已关闭。