zoukankan      html  css  js  c++  java
  • 003.progit笔记---git基本操作

    01、初始化仓库

      $ git init

    02、Untrack和Modified文件加入暂存区

      $ git add *.c

      $ git add LICENSE

    03、暂存区文件提交到仓库(文件加入暂存区后,又被修改,只会提交加入暂存区的文件状态)

      $ git commit -m 'init project version'

      $ git commit  (弹出编辑器,供编辑提交信息)

      $ git commit -v  (弹出编辑器,且默认带上git diff的内容,供编辑提交信息)

      $ git commit -a -m 'commit all tracked file'  (跳过暂存步骤,提交所有被管理的文件)

    04、从远程仓库克隆

      $ git clone https://github.com/libgit2/libgit2 (当前目录创建libgit2目录,并从远程仓库克隆.git文件夹,然后读取最新版本的文件拷贝到工作目录)

      $ git clone https://github.com/libgit2/libgit2 mylibgit(当前目录创建mylibgit目录)

    05、检查工作区文件状态

      $ git status

      可能结果: nothing to commit, working directory clean (工作区很干净)

            Untracked files: (工作区有新增文件)

            Changes to be comitted: (暂存文件未提交)

            Changes not staged for commit: (已提交的文件被修改,且未暂存)

      注:当文件同时在Changes to be comitted:和Changes not staged for commit:,说明暂存文件被修改

    06、工作区文件状态简览

      $ git status -s    $ git status --short

         M README (被修改,且没放入暂存区)

      MM Rakefile (被修改,放入暂存区后又被修改)

      A     lib/git.rb (新添加到暂存区文件)

      M    lib/simplegit.rb (被修改,且放入暂存区)

      ??   LICENSE.txt  (新添加Untracked文件)

    07、查看修改

      $ git diff  (查看未暂存修改)

      $ git diff --staged  (查看已暂存的修改)

      $ git difftool --tool-help  (查看系统支持的差异对比插件)

      $ git difftool --tool=vimdiff3  (用vimdiff3插件查看未暂存修改)

      $ git difftool --staged  --tool=vimdiff3  (用vimdiff3插件查看已暂存修改)

    08、删除文件

      $ git rm README (从工作目录 & 暂存区删除README文件,git commit即可提交。若手动删除文件,需要先保存到暂存区,再提交)

      $ git rm -f log/*.log  (已修改未暂存或已暂存 的文件需要强制从暂存区删除才能成功。删除log目录下,任何以.log结尾的文件)

      $ git rm --cached *~   (从暂存区删除任何以~结尾的文件,*号需要转义,但工作区保留)

    09、移动文件

      $ git mv file_from file_to

      等价于

      $ mv README.md README

      $ git rm README.md

      $ git add README

      此时,查看git status

      $ git status

      On branch master

      Changes to be committed:

         (use "git reset HEAD <file>..." to unstage)

         renamed: README.md -> README

     10、撤销操作--amend

    1. $ git commit fileA -m 'commit file A'
    2. $ git add fileB
    3. $ git commit --amend -m 'commit file A and file B'  (会与第一步的提交合并,只有1条提交记录)

    11、取消暂存

      $ git reset HEAD fileName

      $ git reset HEAD fileName --hard(可能导致工作目录当前所有进度丢失)

    12、撤销工作区修改

      $ git checkout -- file (不可逆,慎用)

    13、远程仓库操作

      $ git remote  (展示远程仓库简写名)

      $ git remote -v  (展示远程仓库简写名 & 地址 & 推拉信息)

      $ git remote add <shortname> <url>  (添加远程仓库)

      $ git fetch [remote-name]  (从远程仓库拉取)

      $ git push <remote-name> <local-branch>  (将本地分支推到远程仓库)

      $ git remote show [remote-name]  (查看远程仓库详细信息)

      $ git remote rename <old-remote-name> <new-remote-name>  (远程仓库重命名)

      $ git remote rm <remote-name>  (移除远程仓库,仅仅删掉本地)

    14、简介的远程仓库操作

      $ git clone <remote-url>  (克隆远程仓库,并命名为origin,且设置本地master分支跟踪远程master分支)

      $ git push origin master  (远程仓库名orgin,且推送本地master分支)

  • 相关阅读:
    南阳1071
    hdu5110 dp
    hdu1199 线段树
    hdu5107 线段树
    hdu5106 数位dp
    hdu 5103 状态压缩dp
    C Strange Sorting
    hdu5102 枚举每条边的长度
    uva672
    uva473
  • 原文地址:https://www.cnblogs.com/geniushuangxiao/p/12629061.html
Copyright © 2011-2022 走看看