git命令
Git 全局设置
git config --global user.name "焦微"
git config --global user.email "19723689@qq.com"
快速拉取
进入新文件夹中
git init
git remote add origin [你的git地址]
git pull origin master
之后就用最后一条命令来拉取
git pull不可以,具体原因不知,可能是没有指定仓库
创建新版本库
git clone http://45.40.195.127/h5/airwar.git
cd airwar
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
已存在的文件夹
cd existing_folder
git init
git remote add origin http://45.40.195.127/h5/airwar.git
git add .
git commit -m "Initial commit"
git push -u origin master
可能遇到的问题
- 如果提示
Authentication failed
或git remote: HTTP Basic: Access denied
错误
解决办法:
git config --system --unset credential.helper
- 在
.git/config
文件中将上传的url地址中http://
后添加上username:password
@可以免输入账号密码
已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
git remote add origin http://45.40.195.127/h5/airwar.git
git push -u origin --all
git push -u origin --tags
GitHub上管理项目
新建repository
本地目录下,在命令行里新建一个代码仓库(repository)
- 里面只有一个
README.md
- 初始化repository
↓命令如下:
touch README.md
git init
↓将README.md加入到缓存区
git add README.md
↓将所有改动提交到缓存注意是两个杠
git add --a
↓提交改变,并且附上提交信息"first commit"
git commit -m "first commit"
Push
git remote add origin https://github.com/XXX(username)/YYYY(projectname).git
加上一个remote的地址,名叫origin,地址是github上的地址(Create a new repo就会有)
因为Git是分布式的,所以可以有多个remote.
↓将本地内容push到github上的那个地址上去。
git push -u origin master
参数-u
:用了参数-u之后,以后就可以直接用不带参数的git pull从之前push到的分支来pull。
此时如果origin的master分支上有一些本地没有的提交,push会失败.
所以解决的办法是, 首先设定本地master的上游分支:
git branch --set-upstream-to=origin/master
↓然后pull:
git pull --rebase
↓最后再push:
git push
分支
新建好的代码库有且仅有一个主分支(master),它是自动建立的。
↓可以新建分支用于开发,新建一个叫develop的分支,基于master分支:
git branch develop master
↓切换到这个分支:
git checkout develop
现在可以在这个develop分支上做一些改动,并且提交。
注意:切换分支的时候可以发现,在Windows中的repository文件夹中的文件内容也会实时相应改变,变成当前分支的内容。
-
push方法1:
现在如果想直接Push这个develop分支上的内容到github
git push -u origin
如果是新建分支第一次push,会提示:
fatal: The current branch develop has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin develop
输入这行命令,然后输入用户名和密码,就push成功了。
git push --set-upstream origin develop
以后的push就只需要输入
git push origin
-
push方法2:
比如新建了一个叫dev的分支,而github网站上还没有,可以直接:
git push -u origin dev
这样一个新分支就创建好了。
-
push方法3:
提交到github的分支有多个,提交时可以用这样的格式:
git push -u origin local:remote
比如:
git push -u origin master:master
表明将本地的master分支(冒号前)push到github的master分支(冒号后)。
如果左边不写为空,将会删除远程的右边分支。
创建分支的另一种方法
可以新建一个分支develop2,同时切换到这个分支
git checkout -b develop2 develop
删除分支
↓可以查看所有的分支
git branch
↓将develop2分支删除
git branch -d develop2
Clone
使用git clone+github地址的方法,项目默认只有master分支。也只有master
git branch
↓要看所有的分支
git branch -a
或者是
git branch -r
↓这时候要新建一个分支,叫做dev,基于远程的dev分支:
git checkout -b dev origin/dev
加Tag
↓git tag中的两个参数,一个是标签名称,另一个是希望打标签的点develop分支的末梢。
git tag tagname develop
合并分支
↓先转到主分支:
git checkout master
↓然后把develop分支merge过来:
git merge --no-ff develop
参数意义:
不用参数的默认情况下,是执行快进式合并。
使用参数--no-ff,会执行正常合并,在master分支上生成一个新节点。
merge的时候如果遇到冲突,就手动解决,然后重新add,commit即可。