git的使用

1.首先说下将代码提交到远程仓库,这里用的是在GitHub创建了一个git仓库

  1.打开终端,找到要提交的项目,然后运行命令:

    git remote add origin https://github.com/licuiyan/learngit.git

  注意把后面的地址换成自己的仓库地址,下一步,就可以把本地库的所有内容推送到远程库上

    git push -u origin master

  然后根据提示输入用户名,密码,

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改

2.从远程库克隆一个本地库

  git clone https://github.com/licuiyan/learngit.git

3.分支管理

  我们创建dev分支,然后切换到dev分支:

  git checkout -b dev
  git branch  //查看当前分支

当前分支前面会标一个*号。
然后对dev分支修改,比如我就修改一下背景色,然后提交:git add .  该命令提交所有变化

  git commit -m "改变背景色"

 dev分支工作完成后,切换到主分支  

 git checkout master

把dev分支内容合并到当前分支也就是主分支

 git merge dev

之后删除dev分支

 git branch -D dev

命令如下:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

查看冲突文件:git status

查看分支合并情况:git log --graph

 Git友情提醒,如果一个分支,比如feature-vulcan分支还没有被合并的情况下想删除,如果删除,将丢失掉修改,如果要强行删除,需要使用命令git branch -D feature-vulcan

4.bug分支

比如开发中正在dev分支上工作,但是还没完全做完遇到bug要优先处理时解决办法:

git stash   //可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
再次执行git status 发现没有需要提交的东西了


然后切回主分支,创建bug分支,处理完后,重新切回dev分支
git stash list  //查看工作区
回复工作现场

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;


另一种方式是用git stash pop,恢复的同时把stash内容也删了:

5.标签管理

git tag v1.0 //打标签1.0
git tag //查看所有标签

默认标签是打在最新提交的commit上的,如果忘记打了,找到历史提交信息的commit id,在对应的上面打标签

git log --pretty=oneline --abbrev-commit   //历史提交信息

git tag v0.9 6224937  //比如commit id是6224937

git tag -a v0.1 -m "version 0.1 released" 3628164    //创建带有说明的标签
git show v0.1  //看到说明文字
git tag -d v0.1 //删除标签
git push origin v1.0  //推送某个标签到远程

git push origin --tags //一次性推送全部尚未推送到远程的本地标签

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
git tag -d v0.9
然后,从远程删除。删除命令也是push,但是格式如下:
git push origin :refs/tags/v0.9

6.忽略特殊文件

开发中有些需要忽略不能提交的文件,比如添加cocoapods时,这是需要用到忽略特殊文件,Git就会自动忽略这些文件。需要编写.gitignore文件,可以在这个链接中生成对应的忽略文件。

添加进去就行,比如输入cocoapods,

# Created by https://www.gitignore.io/api/cocoapods

### CocoaPods ###
## CocoaPods GitIgnore Template

# CocoaPods - Only use to conserve bandwidth / Save time on Pushing
#           - Also handy if you have a large number of dependant pods
#           - AS PER https://guides.cocoapods.org/using/using-cocoapods.html NEVER IGNORE THE LOCK FILE
Pods/


# End of https://www.gitignore.io/api/cocoapods

 
 
 
参考链接:

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

 
 


 
 




 
 
原文地址:https://www.cnblogs.com/cui-cui/p/8583132.html