Pro Git

作者: NapoleonY | 来源:发表于2018-03-04 22:35 被阅读9次

Git基础

取得项目的 Git 仓库
  1. git init在现有项目的目录中初始化新仓库
  2. git add *.c告诉Git开始跟踪所有的.c文件
  3. git clone url克隆某个项目的Git仓库
  4. git clone url myRepo自定义新建项目目录名称为myRepo
    备注:git支持git://协议和http(s)://或者user@server:/path.git表示的SSH传输协议
记录每次更新到仓库
  1. git status检查当前文件状态
  2. git add fileA开始跟踪文件fileA"该命令潜台词是把目标文件框照放入暂存区";
    备注:git add后可以是文件名或者目录
  3. .gitignore文件内为要忽略的文件
    • 所有空行或者以注释符号开头的行都会被 Git 忽略。
    • 可以使用标准的 glob 模式匹配
    • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
    • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
    # 此为注释 – 将被 Git 忽略
    # 忽略所有 .a 结尾的文件
    *.a
    # 但 lib.a 除外
    !lib.a
    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    /TODO
    # 忽略 build/ 目录下的所有文件
    build/
    # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    doc/*.txt
    # ignore all .txt files in the doc/ directory
    doc/**/*.txt
    
  4. git diff比较工作目录当前文件与暂存区域快照之间的差异
  5. git diff --cachedgit diff --staged比较已暂存和上次提交时快照之间的差异
  6. git commit提交更新
  7. git commit -a跳过git add命令,将所有跟踪过的文件暂存起来一并提交
  8. git rm fileA删除工作目录中文件fileA,删除暂存区文件fileA,提交后,文件fileA不再纳入版本管理
  9. git rm -f fileB强制删除文件fileB如果fileB在删除前被修改并提交到了暂存区,需要使用该命令强制删除
  10. git rm --cached fileC移除对文件fileC的跟踪,即从暂存区删除文件fileC,工作目录中不删除
  11. git rm \*~删除当前目录及子目录下所有~结尾的文件
  12. git rm log/\*.log删除log目录下所有.log结尾的文件
  13. git mv fileF fileG将文件fileF重命名为fileG,相当于如下三个操作mv fileF fileGgit rm fileFgit add fileG
查看提交历史

Git分支

何谓分支
  1. git branch testing新建testing分支
  2. git checkout testing切换到testing分支
分支的新建与合并
  1. git checkout -b iss01新建并切换到分支iss01
  2. git branch iss01新建分支iss01
  3. git checkout iss01切换到分支iss01
  4. git merge iss01将分支iss01合并到当前分支
  5. 解决合并分支时出现的冲突解决后,运行git addgit commit命令提交
  6. git branch -d iss01将分支iss01删除
    备注:第1条指令相当于第2.3条指令的效果
分支的管理
  1. git branch给出当前所有分支的清单
  2. git branch -v查看各个分支最后一个提交对象的信息
  3. git branch --merged查看哪些分支已被并入当前分支
  4. git branch --no-merged查看尚未合并的分支
远程分支
  1. git fetch origin同步远程服务器上的数据到本地
  2. git push origin serverfix将本地的serverfix分支推送到远程仓库origin
  3. git push origin serverfix:awesomebranch将本地分支serverfix推送到远程仓库,命名为awesomebranch
  4. git checkout -b serverfix origin/serverfix新建本地分支serverfix,内容同远程分支origin/serverfix一致
  5. git push origin :serverfix将远程库中的serverfix分支删掉

参考

相关文章

网友评论

      本文标题:Pro Git

      本文链接:https://www.haomeiwen.com/subject/hoaqfftx.html