- 建立仓库
1.初始化本地数据库,与已建立的远程库进行对接
git remote add [remote_name] [database_brunch]
2.查看远端仓库
git remote
3.推送到远端仓库
git push [remote_name] [brunch]
git push --set-upstream [remote_name] [brunch] 推送同时建立关联关系
git push 在有关联关系的情况下在本路径下可省略本路径名称
4.查看绑定路径
git branch -vv
- 分支指令
1.查看分支
git branch
2.创建分支
git branch 【希望创建的分支名称】
3.切换分支
git checkout 【分支名称】
git checkout -b 【分支名称】(创建并且切换到xxx分支)
4.合并分支
合并分支是指将某一分支合并至当前分支
git merge 【需要合并的分支】
5.删除分支
git branch -d 【分支名称】(需要检查
git branch -D【分支名称】(直接删除
- 分支冲突解决
1.场景
在不同分支下修改同一文件同一行,再次合并分支
出现:
名称@设备号 /(你的路径) (【分支1】)
$ git merge 【分支2】
Auto-merging 【文件名称】
CONFLICT (content): Merge conflict in 【文件名称】
Automatic merge failed; fix conflicts and then commit the result.2.过程
打开冲突文件,效果如下。
git将冲突块在文件中标出:
<<<<<<< HEAD
aaaaaaaaaaacccddd`
=======
aaaaaaaaaaacccffff
>>>>>>> 【分支2】
3.解决方法
此时title:名称@设备号 /(你的路径) (【分支1】|【分支2】)
进入文件进行修改并保存至暂存区,提交到仓库即可(相当于强制修改(个人理解))
- 克隆仓库
1.从远端仓库克隆到本地
git clone [database_link] [本地目录]
本地目录可省略——自动生成
- 其他命令
1.版本回退
git reset --hard [文件号]2.查看日志,查询commitID
git-log3.未清空回收站可找到回退前版本号
git reflog4. 忽略文件(设置不进行提交到代码仓库文件
修改文件.gitignore
修改*.a 忽略.a后缀的所有文件
bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件/bin: 忽略根目录下的bin文件
/*.c: 忽略 cat.c,不忽略 build/cat.c
debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
**/foo: 忽略/foo, a/foo, a/b/foo等
a/**/b: 忽略a/b, a/x/b, a/x/y/b等
!/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
*.log: 忽略所有 .log 文件
config.php: 忽略当前路径的 config.php 文件
5.设置别名
查看别名alias
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
alias ll='ls -al'
alias ls='ls -F --color=auto --show-control-chars' -
抓取和拉取
1.抓取
git fetch [remote_name][branch_name]//不合并
2.拉取
git pull [remote_name][branch_name]//相当于fetch+merge,自动合并
- 小tips
1.生产分支
master
2.开发分支
develop
3.业务分支
feature
4.修改分支
hotfix
修改分支需要合并到master & dev
感谢浏览,共同进步!