理解 git origin 的意思
知乎 - Git 里面的 origin 到底代表啥意思?
git remote
{git url} your git url
1 2 3 4 5 6 7 8 9
| mkdir mygit cd mygit git init
git remote add origin {git url}
git remote add upstream {git url} git remote git remote -v
|
推送分支到远程 git
1 2 3 4 5
| touch a git push -u origin master git push -u upstream master
git push -u upstream master:v1.0
|
修改远程 GIT 地址
1
| git remote set-url upstream {url}
|
修改远程 GIT 标识
1
| git remote rename upstream {newname}
|
删除远程 GIT
1
| git remote remove {remote git name}
|
设置文件忽略
git ignore
设置命令 alias
1
| git config --global alias.st status
|
or
edit ~/.gitconfig
git alias setting
学习 alias 是有一定必要性的,一方面是理解和掌握命令,另一方面是便捷性
解决冲突练习
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| curl https://www.google.com/search\?q\=git+origin+%E7%9F%A5%E4%B9%8E\&rlz\=1C5CHFA_enJP904JP904\&oq\=git+origin+%E7%9F%A5%E4%B9%8E\&aqs\=chrome..69i57j69i64l2.5458j0j1\&sourceid\=chrome\&ie\=UTF-8 > a git add . git checkout -b f/ git commit -m "some" cd .. git clone {git url} subtest cd ../mygit git push -u origin f/
// 远端GIT合并分支
cd ../subtest git checkout -b f/ curl https://zh-hans.reactjs.org/docs/context.html\ git add . git commit -m "update 1" curl https://www.urara.top/2020/10/29/start-react-project/ git add . git commit -m "update 2"
git checkout -b f/ git checkout master git pull
git checkout f/ git rebase master // fix conflict git add a git rebase --continue // 重复到解决所有冲突,然后命令行会现实如下信息, 重新返回到了f/ // subtest git:(f/ git log // 可以看到解决冲突的所有日志, 每一次解决冲突都会做一次保存,生成一个新的log
|
git log 命令详解
仔细看日志, 记住两条重要信息的 log id, 类似:
1 2
| commit e22bef1c33fd9dd952bef802783f4e1c8edb3b04 (HEAD -> f/ commit 18b263290466f32c595e6f29085995a218ae4aaf (origin/master, origin/HEAD, master)
|
仅针对一条 issue 的对应,提交的 commit 内部推荐仅一条 log 信息,方便日后对比观察
1
| git rebase -i 18b263290466f32c595e6f29085995a218ae4aaf e22bef1c33fd9dd952bef802783f4e1c8edb3b04
|
此时会跳转到编辑窗口, 编辑除第一条外的所有行首的pick
为s
, 表示squash
合并
1 2 3
| pick 3d675bf update 1 s de96fd4 2 s e22bef1 3
|
:wq
退出编辑
此时自动跳转到commit
编辑窗口, 编辑并退出
这时会生成一个临时分支
创建新分支并提交该分支即可
1
| git log --graph --pretty=oneline --abbrev-commit
|
merge 和 rebase 区别
gist 参考文章