git基本使用方法

1、生成sshkey

ssh-keygen -t rsa -C "youremail@example.com"

2、设置默认提交的用户名和邮箱

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

3、初始化本地文件夹为git仓库

git init

4、克隆一个代码库:

git clone url

5、增加暂存区(.可以改为相应的文件):

git add .

6、提交信息

git commit  -m  "提交信息"

7、提交更改

git push

8、更新本地代码库

git pull url

git clone和git pull有区别,新建代码库要用git clone会自动初始化文件夹为一个代码库(添加.git文件)

使用的url时http和ssh时不同,http时会弹出窗口要输入github账号密码,ssh时可以用key而免去输入账号密码

9、本地删除文件后从远程同步回来

#单个文件
git checkout a.php
#当前目录
git checkout .

 10、创建并切换分支

git checkout -b dev

git checkout命令加上-b参数表示创建并切换。即创建dev分支,并把当前分支切换为dev。相当于下面两条命令:

git branch dev
git checkout dev

11、分支操作

查看本地分支:git branch
查看远程分支:git branch -r
查看所有分支:git branch -a
删除本地分支:git branch -d xxxxx
新建远程分支:git push origin 本地分支名:远程分支名
删除远程分支:git push origin :远程分支名(push空分支相当于删除远程分支)
删除远程分支:git push origin --delete 远程分支名

git branch命令会列出所有分支,当前分支前面会标一个*号。

12、关联/取消关联远程仓库

关联

git remote add origin git@github.com:roadwide/gitstudy.git

取消关联

git remote remove origin

git remote可以查看关联的远程仓库。从这里我明白了远程主机名之所以是origin是因为我将他命名为了origin,并且默认规则就是这样(直接clone也是origin

关联操作可以是本地git init之后再和远程仓库关联。和git clone不同,git clone是直接将远程仓库下载到本地,同时完成了下载文件和初始化为git仓库的操作;而git init只将本地文件夹初始化为git仓库,后续还需要再关联远程仓库。

在git init之后可以使用

git pull origin master

将远程仓库pull到本地。这个命令实际上完成了在本地创建master分支并将远程仓库文件下载下来。

如上,git pull命令的格式是:git pull 远程主机名 远程分支名

另外在学习过程中发现,git init之后本地仓库并没有任何分支,只有在添加文件并且commit之后才会出现master分支。如果git init初始化,然后自己添加文件并commit,再次使用git pull某个分支的时候会出现错误提示“fatal: refusing to merge unrelated histories”,意思拒绝合并来路不明的分支,是服务器感觉可能是开发者弄错了,所以拒绝,如果要强制合并,需要加参数--allow-unrelated-histories

13、git push命令

git push <远程主机名> <本地分支名>:<远程分支名>

远程主机名默认叫origin。之所以能直接git push而不设置后面的参数,是因为远程仓库和本地仓库之间的某种绑定。

git push --set-upstream origin aaa

其中origin是远程主机名,aaa是远程分支名

14、新建一个不继承任何节点的分支

git checkout --orphan doc

该例子中分支名为doc

原文地址:https://www.cnblogs.com/roadwide/p/9525418.html