git基本操作
在当前文件夹创建git目录
git init
添加当前文件夹的文件或确认文件修改(未保存)
git add 文件
git add .
添加该文件夹所有文件
删除当前文件夹的文件(未保存)
git rm 文件
保存并说明
git commit -m "说明"
查看之前的更改
git log
添加密钥
ssh-keygen -t rsa -C "邮箱"
然后将.ssh文件夹里的id_rsa.pub文件内容复制粘贴到GitHub的设置里面
设置本地用户名和邮箱
git config user.name "用户名"
git config user.email "邮箱"
添加远程服务器
git remote add 服务器名字 https://github.com/用户名/Repository名
查看远程服务器列表
git remote -v
删除远程服务器
git remote rm 服务器名字
上传项目到服务器
git push 服务器名字 分支
从服务器下载项目的A分支到本地的B分支
git fetch 服务器名字 A:B
比较A、B两分支
git diff A B
新建/删除/跳转到分支
git branch 分支名
git branch -d 分支名
git checkout 分支名
查看当前的分支
git branch
将B合并到A分支
git merge B A
合并分为以下情况:
- 若B是A之前的版本或A是B之前的版本,则合并无效
- 若B和A是同一版本衍生出的两个不同版本(比方说本地克隆了C,并把C改成了B,而网上的C经过PullRequest或其他人的push变成了A,然后把Afetch了下来),此时:
- 若B和A修改的是不同文件,或同一文件的不同行,则merge会将两个修改合并(比方说C包括1.txt 2.txt 3.txt,A删除了3.txt变成1.txt 2.txt,B删除了2.txt变成1.txt 3.txt,则B合并到A后A只剩1.txt)。
- 若B和A修改的是同一文件的同一行(实际情况可能不限于这个,反正就是改乱了),merge会失败,并将B和A冲突的文件的内容加上冲突提示标记,你需要手动将这个文件改成你预期的解决冲突后的样子。