- git clone url
从远程仓库克隆代码
- 创建分支并提交代码
Step 1:在本地新建分支
git branch newBranch
Step 2:把本地分支push到远程
git push origin newBranch
Step 3:切换分支到newBranch
git checkout newBranch
合并2、3步骤的命令
git checkout -b developer 创建developer分支,并且切换到developer分支。git checkout 加上-b参数,标识创建和切换。
Step 4:查看本地修改
git status
Step 5:添加本地修改
git add .
Step 6:commit修改
git commit -m “XXXX”
Step 7:push 代码
Git push
https://blog.csdn.net/roczheng1990/article/details/82018568
https://www.cnblogs.com/bluestorm/p/6252900.html
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> 1.2.2_700
2、git 创建、删除tag
git tag 1.2.711_5 创建1.2.711_5tag
git push origin 1.2.711_5 将tag 1.2.711_5推送到远程仓库
git tag -d 1.2.711_5 删除本地tag
3、git 查看远程地址
git remote -v
4、合并分支
branchA;branchB
将branchB的代码合并到branchA;
a、使用一下命令切换到branchA分支
git checkout branchA
b、使用一下命令合并分支
git merge branchB
c、如果在命令行出现如下提示,则需要合并代码
Automatic merge failed; fix conflicts and then commit the result.
可以借助android Studio版本管理解决:VCS->Git->Resolve Conflicts
d、合并后,将需要提交的代码提交
------------------------------
git init
Git 使用 git init 命令来初始化一个 Git 仓库,
在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变
git clone
git clone <仓库地址> <本地目录>
从现有 Git 仓库中拷贝项目
git status
git status 以查看在你上次提交之后是否有修改。
git add
git add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。
git add
不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
git add -u
-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。
git add -A
A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
git commit
git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,
git commit -a "message"
message:提交说明信息
//对最近一次的提交进行修改
git commit --amend
git reset HEAD
git reset HEAD 命令用于取消已缓存的内容。
git branch
查看分支
git branch -d <branchName>
删除分支命令
git stash
可用于一些工作开发为完成,要切换到其他分支工作的情况。
(1)git stash "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
(8)git stash clear :
删除所有缓存的stash
-----------------------------
案例
本地仓库会同步两个远程仓库,现在一个仓库提交代码,然后把开发完的代码pull request到发布仓库
说明:发布仓库:publish , 开发仓库:self
1、在本地添加远程仓库
git remote add {远程仓库本地命名} {远程仓库地址}
远程仓库本地命名不能使用origin。本地第一个远程仓库默认是origin。
可以使用git remote -vv查看本地已经配置的远程仓库
使用git remote -vv结果如下:
2、可以拉取publish仓库中的代码更新到self仓库
git push
git push <remote 名字> <本地分支的名字> :<远程库的名字>
用于将本地分支的更新,推送到远程主机。
如果省略远程分支名,则表示将本地分支推送与之存在“追踪关系”的远程分支(通常两者同名),如果该远程分支不存在。。则会被新建。
git push origin master
上面的命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除置顶的远程分支,因为这等同与推送一个空的本地分支到远程分支。
#删除远程仓库分支(表示删除origin主机的master分支)
git push origin :master
#等同于
git push origin --delete master
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支可以省略。
git push origin
上述命令表示将档期哪分支推送到origin主机的对应分支
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push
#表示推送本地分支代码到远程服务器,代码经过code review之后才能merge
git push origin HEAD:refs/for/master
HEAD:是一个特别指针,他是一个指向你正在工作的本地分支的指针,可以把它当作本地分支的别名。
refs/for:意义在于提交代码到服务器之后,是需要经过code review之后才能进行merge
refs/heads:不需要code review