One - One Code All

Blog Content

git命令使用-创建查看分支,提交代码

Linux-Mac 模型工具   2012-05-19 09:13:16
  1. 配置id_rsa.pub:执行 ssh-keygen -t rsa -C "grant.bai@qq.com" 将id_rsa.pub保存到 ~/.ssh目录。将其中内容贴到git coding平台ssh公钥里。


  2. git init //新建一个文件夹,然后初始化git


  3. git remote add origin git@gitlab.xxx/datacenter.git  //添加一个Origin

  4. git fetch

  5. 创建本地分支:git branch dev 报错:fatal: Not a valid object name: 'master'.
    如果本地没有文件,添加一个文件,eg: readme.txt

  6. git add .添加所有项目文件到本地仓库缓存

  7. git commit -m "init commit"提交到本地仓库.(之后就可以随心所欲地创建或切换分支了)

  8. 执行拉取分支命令,
    //git checkout -b dev(这个是我本地文件夹) origin/dev(这个是远程分支分支名)
    git checkout -b dev origin/dev
    报错:fatal: A branch named 'dev' already exists.

  9. 删除刚创建的分支:
    git branch -d dev

  10. 重新拉取分支:
    git checkout -b dev origin/dev

  11. 查看远程分支
    git branch -a

  12. 查看本地分支
    git branch

  13. 切换分支
    //切换回master分支
    git checkout master
    //切换回dev分支
    git checkout dev

  14. 查看当前分支所属
    git branch -vv

  15. 获取当前分支名
    git symbolic-ref --short -q HEAD

  16. 查看当前分支所有提交者及其提交次数,按次数由高到低排序
    git log | grep "^Author: " | awk '{print $2}' | sort | uniq -c | sort -k1,1nr

  17. 推送代码到分支
    git push -u origin master

  18. 添加提交代码
    #添加本地需要上传的文件夹(代码文件添加方式 git add 文件.js)
    git add db

  19. 提交信息
    git commit -m '提交文档到test分支上'

  20. 推送代码分支
    git push -u origin dev:dev

  21. 查看当前的origin
    git remote -v




五步走:分支创建  ->  切换  ->  提交  ->  合并  ->  删除

1.先创建一个新分支提交改动
$ git branch newbranch
然后输入这条命令检查是否创建成功
$ git branch
这时终端输出

      newbranch
    * master

这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。
$ git checkout newbranch
注:也可以使用下面的命令,相等于上面的两部;

$ git checkout -b newbranch
这样就切换完了,可以  $ git branch 确认下。然后你要将你的改动提交到新的分支上。
     $ git add .
     $ git commit -a

此时可以  $ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。
$ git checkout master
然后我们要将新分支提交的改动合并到主分支上
$ git merge newbranch
合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。
$ git diff
我们的问题就解决了,接下来就可以push代码了。
$ git push -u origin master
新建分支的朋友别忘了删除这个分支,不放心的话可以git branch查看下。
$ git branch -D newbranch
如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。

Git常用操作命令收集:
1) 远程仓库相关命令
检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push[name][newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
 
2)分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name]

如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。

$ git push origin test:master         // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
$ git push origin test:test              // 提交本地test分支作为远程的test分支

如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

$ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心
3)版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
 
4) 子模块(submodule)相关操作命令
添加子模块:$ git submodule add [url] [path]
如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行
更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下
删除子模块:(分4步走哦)
1)$ git rm --cached [path]
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录
 
5)忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db


上一篇:CPP 学习路线及资源推荐
下一篇:git配置及代码推送

The minute you think of giving up, think of the reason why you held on so long.