四五20

Git基本操作

2019-06-10  本文已影响0人  四五20

只为记录,以后尽量按照Git的官方帮助文档写!

clone

git clone <版本库地址> <本地目录>
//在当前目录创建新一个文件夹文件夹
mkdir <文件夹名称>
//进入到这个文件夹
cd <文件夹名称>
git clone <版本库地址>

init

此命令用于已有项目,然后想用Git管理项目

  1. 进入到项目目录(例如在桌面)
    cd ~/desktop/xxx
  2. 初始化仓库
    git init
  3. 将所有文件添加到索引库
    git add .
  4. 提交代码并填写提交信息
    git commit -m "xxxx"
  5. 添加远程呢很难过Git地址
    git remote add origin <地址>
  6. 如果网页创建仓库存在xxx.md文件或其他的文件,需要先将远程库的文件更新下来才能将本地项目推送到远程,如果仓库是空则忽略这个步骤
    git pull --rebase origin master
  7. 将项目推送到远程仓库
    git push -u origin master

config

此命令用于获取并设置存储库或全局选项。这些变量可以控制Git的外观和操作的各个方面。

//Git可以接受kdiff3、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge和opendiff作为有效的合并工具。也可以设置一个客户端的工具。
git config --global merge.tool xxx

add

此命令将要提交的文件的信息添加到索引库中(将修改添加到暂存区)

mv

reset

rm

bisect

  用来查找哪一次代码提交引入了错误。
  它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位。所谓"两分法",就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。

grep

  检索当前目录下的文件中的内容


baba.txt.png
mama.txt.png

log

  如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者、提交日期、和提交说明
  如果记录过多,则按Page Up、Page Down来控制显示
  按q退出历史记录列表

show

status

branch

checkout

commit

git commit -m xxx
git commit -a -m xxx
git -am xxx

diff

merge

mergetool

  1. 下载Beyond Compare 密码:1anl
  2. 打开Beyond Compare


    安装命令行工具.png
  3. 编辑配置文件
    git config --edit --global
  4. 将下方文本粘贴进去
[diff]
        tool = bcomp
[difftool "bcomp"]
        cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\"
[difftool]
        prompt = false
[merge]
        tool = bcomp
[mergetool]
        prompt = false
[mergetool "bcomp"]
        cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
  1. 合并不再生成备份文件
    git config --global mergetool.keepBackup false
  2. 使用方法
    git difftool <指针>
    git difftool <分支名>
    git mergetool

如果difftool需要对比的文件比较多,在你关闭Beyond Compare的时候它会再次打开,不要担心,这不是bug,这是主动打开下一个有差异的文件。不喜欢这样的话可以执行git config --global difftool.prompt true,这样的话每次弹出都会在终端询问一遍。

  1. Beyond Compare合并代码使用方法

rebase

//合并最近四次commit
git rebase -i HEAD~4
//合并提交从最近到指定commit(xxx为哈希值,可用`git log`指令查看哈希值)
git rebase -i xxx
//如果出现冲突解决办法如上一条操作
'pick':`生成一条提交`
`fixup`:`放弃本此提交记录`
`squash`:`合并本次提交记录到上一条`

tag

fetch

pull

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master:dev

push

stash

blame

clean

批量删除未添加到索引库的文件
n查看
f文件
d文件夹

reflog

上一篇下一篇

猜你喜欢

热点阅读