git clone一个项目

jiqing@jiqing-System-Product-Name:/home/wwwroot/default$ sudo git clone http://106.14.59.204/jiqing/testGit.git
正克隆到 'testGit'...
Username for 'http://106.14.59.204': jiqing@caomall.net
Password for 'http://jiqing@caomall.net@106.14.59.204':
warning: 您似乎克隆了一个空仓库。
检查连接... 完成。

git status 查看状态

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status
位于分支 master
初始提交
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
1
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)

git add 添加文件

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git add ./1

git config/git commit 提交

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git config --global user.email "jiqing@caomall.net"
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git config --global user.name "jiqing"jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git commit -m "1"
[master (根提交) eb3b1d1] 1
1 file changed, 1 insertion(+)
create mode 100755 1

git push 推送到分支中

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin master
Username for 'http://106.14.59.204': jiqing@caomall.net
Password for 'http://jiqing@caomall.net@106.14.59.204':
Counting objects: 3, done.
Writing objects: 100% (3/3), 196 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://106.14.59.204/jiqing/testGit.git
* [new branch] master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

同时添加多个文件

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git add ./
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git commit -m "2,3"
[master 5ba06bf] 2,3
2 files changed, 2 insertions(+)
create mode 100644 2
create mode 100644 3
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin master
Username for 'http://106.14.59.204': jiqing@caomall.net
Password for 'http://jiqing@caomall.net@106.14.59.204':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 296 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To http://106.14.59.204/jiqing/testGit.git
eb3b1d1..5ba06bf master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

创建分支,切换分支

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git branch dev
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git checkout dev
切换到分支 'dev'
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status
位于分支 dev
无文件要提交,干净的工作区

git push origin dev将分支推送到远端

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push origin dev
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for dev, visit:
remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote:
To http://106.14.59.204/jiqing/testGit.git
* [new branch] dev -> dev

在分支中添加代码

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git add ./4
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git commit -m "4"
[dev b735b44] 4
1 file changed, 1 insertion(+)
create mode 100644 4
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status
位于分支 dev
无文件要提交,干净的工作区
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin dev
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 251 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: To create a merge request for dev, visit:
remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote:
To http://106.14.59.204/jiqing/testGit.git
5ba06bf..b735b44 dev -> dev
分支 dev 设置为跟踪来自 origin 的远程分支 dev。

这个时候dev上有4这个文件,而master上面没有。

删除本地分支

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git checkout dev
切换到分支 'dev'
您的分支与上游分支 'origin/dev' 一致。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git branch -D devJi
已删除分支 devJi(曾为 b735b44)。

删除线上分支

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push origin --delete devJi
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
To http://106.14.59.204/jiqing/testGit.git
- [deleted] devJi

从分支上合并代码

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git checkout master
切换到分支 'master'
您的分支与上游分支 'origin/master' 一致。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git merge devyuan
更新 5ba06bf..269885a
Fast-forward
5 | 1 +
1 file changed, 1 insertion(+)
create mode 100644 5
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll
总用量 28
drwxrwxrwx 3 root root 4096 4月 3 19:23 ./
drwxr-xr-x 7 www www 4096 4月 3 16:57 ../
-rwxrwxrwx 1 root root 20 4月 3 15:53 1*
-rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2
-rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3
-rw-rw-r-- 1 jiqing jiqing 7 4月 3 19:23 5
drwxrwxrwx 8 root root 4096 4月 3 19:23 .git/ jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin master
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
Total 0 (delta 0), reused 0 (delta 0)
To http://106.14.59.204/jiqing/testGit.git
5ba06bf..269885a master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

强制更新和强制推送

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git pull origin master:devji
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
来自 http://106.14.59.204/jiqing/testGit
! [已拒绝] master -> devji (非快进式)
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll
总用量 28
drwxrwxrwx 3 root root 4096 4月 3 19:26 ./
drwxr-xr-x 7 www www 4096 4月 3 16:57 ../
-rwxrwxrwx 1 root root 20 4月 3 15:53 1*
-rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2
-rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3
-rw-rw-r-- 1 jiqing jiqing 37 4月 3 19:26 4
drwxrwxrwx 8 root root 4096 4月 3 19:32 .git/
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git pull origin master:devji -f
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
来自 http://106.14.59.204/jiqing/testGit
+ b735b44...269885a master -> devji (强制更新)
警告:fetch 更新了当前的分支。您的工作区
警告:从原提交 b735b444332bede7e6dcc828ab5dd7e3dd3029e4 快进。
Already up-to-date.
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll
总用量 28
drwxrwxrwx 3 root root 4096 4月 3 19:33 ./
drwxr-xr-x 7 www www 4096 4月 3 16:57 ../
-rwxrwxrwx 1 root root 20 4月 3 15:53 1*
-rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2
-rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3
-rw-rw-r-- 1 jiqing jiqing 7 4月 3 19:33 5
drwxrwxrwx 8 root root 4096 4月 3 19:33 .git/
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin devji
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
To http://106.14.59.204/jiqing/testGit.git
! [rejected] devji -> devji (non-fast-forward)
error: 无法推送一些引用到 'http://106.14.59.204/jiqing/testGit.git'
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见
提示:'git push --help' 中的 'Note about fast-forwards' 小节。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git push -u origin devji -f
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for devji, visit:
remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=devji
remote:
To http://106.14.59.204/jiqing/testGit.git
+ b735b44...269885a devji -> devji (forced update)
分支 devji 设置为跟踪来自 origin 的远程分支 devji。

如果两个人同时操作一个分支,这个就有点像svn了。先拉取,再提交。

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/test/testGit$ git add ./6
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/test/testGit$ git commit -m "6 from test/testGit"
[dev ae59a51] 6 from test/testGit
1 file changed, 1 insertion(+)
create mode 100644 6
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/test/testGit$ git push -u origin dev
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 265 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: To create a merge request for dev, visit:
remote: http://106.14.59.204/jiqing/testGit/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote:
To http://106.14.59.204/jiqing/testGit.git
b735b44..ae59a51 dev -> dev
分支 dev 设置为跟踪来自 origin 的远程分支 dev。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git pull origin dev
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
来自 http://106.14.59.204/jiqing/testGit
* branch dev -> FETCH_HEAD
b735b44..ae59a51 dev -> origin/dev
更新 b735b44..ae59a51
Fast-forward
6 | 1 +
1 file changed, 1 insertion(+)
create mode 100644 6
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ ll
总用量 32
drwxrwxrwx 3 root root 4096 4月 4 09:15 ./
drwxr-xr-x 7 www www 4096 4月 3 16:57 ../
-rwxrwxrwx 1 root root 20 4月 3 15:53 1*
-rw-rw-r-- 1 jiqing jiqing 14 4月 3 15:59 2
-rw-rw-r-- 1 jiqing jiqing 20 4月 3 16:07 3
-rw-rw-r-- 1 jiqing jiqing 37 4月 4 09:10 4
-rw-rw-r-- 1 jiqing jiqing 49 4月 4 09:15 6
drwxrwxrwx 8 root root 4096 4月 4 09:15 .git/
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git status
位于分支 dev
您的分支与上游分支 'origin/dev' 一致。 无文件要提交,干净的工作区

比较本地与线上的差别

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git fetch origin
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
来自 http://106.14.59.204/jiqing/testGit
25016f9..03dcb0d dev -> origin/dev
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/testGit$ git diff dev origin/dev
diff --git a/8 b/8
new file mode 100644
index 0000000..901184c
--- /dev/null
+++ b/8
@@ -0,0 +1 @@
+88888888

git stash ,git stash pop

jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git stash
Saved working directory and index state WIP on siemens: ba1cc89 修改
HEAD 现在位于 ba1cc89 修改
jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git pull origin siemens
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
来自 http://106.14.59.204/daijiawei/new_hotel
* branch siemens -> FETCH_HEAD
Already up-to-date.
jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git stash pop
位于分支 siemens
您的分支与上游分支 'origin/siemens' 一致。 尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动) 修改: Index/Lib/Action/SiemensAction.class.php 未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容) Index/Tpl/Siemens/share.html 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
丢弃了 refs/stash@{0} (5841615b40ac0332cf4dc3c3a3499e58a57c73ad)
jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git add ./*
jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git commit -m "提交分享页面"
[siemens 0b3a6db] 提交分享页面
2 files changed, 15 insertions(+)
create mode 100644 Index/Tpl/Siemens/share.html
jiqing@ubuntu:/home/wwwroot/default/siemens/new_hotel$ git push origin siemens
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (9/9), 821 bytes | 0 bytes/s, done.
Total 9 (delta 4), reused 0 (delta 0)
remote: Checking connectivity: 9, done.
remote:
remote: To create a merge request for siemens, visit:
remote: http://106.14.59.204/daijiawei/new_hotel/merge_requests/new?merge_request%5Bsource_branch%5D=siemens
remote:
To http://106.14.59.204/daijiawei/new_hotel.git
ba1cc89..0b3a6db siemens -> siemens

查看线上和本地所有分支git branch -a

jiqing@ubuntu:/home/wwwroot/default/5hao/lion$ git branch -a
* 5hao
master
remotes/origin/5hao
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/giftcard
remotes/origin/master
remotes/origin/ssy
jiqing@ubuntu:/home/wwwroot/default/5hao/lion$ git branch
* 5hao
master

切换分支,从分支上拉数据

jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git status
位于分支 5hao
无文件要提交,干净的工作区
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git branch
* 5hao
master
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git checkout -b 5hao
fatal: 一个分支名 '5hao' 已经存在。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git pull origin 5hao
Username for 'http://106.14.59.204': jiqing
Password for 'http://jiqing@106.14.59.204':
来自 http://106.14.59.204/kala/mouse
* branch 5hao -> FETCH_HEAD
Already up-to-date.
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git checkout master
切换到分支 'master'
您的分支与上游分支 'origin/master' 一致。
jiqing@jiqing-System-Product-Name:/home/wwwroot/default/5hao/mouse$ git checkout 5hao
切换到分支 '5hao'

分支未合并完成处理

[root@iZuf6bmpnhekewcpbaogo9Z new_hotel]# git pull origin siemens
您尚未结束您的合并(存在 MERGE_HEAD)。
请在合并前先提交您的修改。
[root@iZuf6bmpnhekewcpbaogo9Z new_hotel]# rm -rf .git/MERGE*
[root@iZuf6bmpnhekewcpbaogo9Z new_hotel]# git pull origin siemens
来自 http://106.14.59.204/daijiawei/new_hotel
* branch siemens -> FETCH_HEAD
Merge made by the 'recursive' strategy.
Index/Lib/Action/GetDataAction.class.php | 2 ++
1 file changed, 2 insertions(+)

git实验室的更多相关文章

  1. Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)

    0.几个基本概念 本地仓库:本机上某个存放代码的仓库. 远程仓库:码云服务器上的代码仓库. 重要提醒:当我们在本地操作(新增.删除.修改)文件.目录时,并将其提交(commit),就是提交到了本地仓库 ...

  2. Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(2)

    4. 处理冲突 4.1 向远程仓库push时无法提交成功,提示在push前应该先pull 如图所示: 有可能是因为远程仓库的版本与本地仓库的版本不一致,所以应先git pull将远程仓库的内容合并到本 ...

  3. git恢复误删文件及省去密码提交

    自己遇到这种情况:自己将某文件在网页的控制面板上直接删除了,再pull下来.或者一个成员误删除了某个文件,然后push到远程库了,其他成员也都pull了,结果就是所有人的本地库当前版本中这个文件都不见 ...

  4. 使用git进行团队合作开发

    1.git 和 svn 的差异 git和svn 最大的差异在于git是分布式的管理方式而svn是集中式的管理方式.如果不习惯用代码管理工具,可能比较难理解分布式管理和集中式管理的概念.下面介绍两种工具 ...

  5. [git/svn]Git和SVN差异

    转自:http://blog.csdn.net/huacuilaifa/article/details/19124635 在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序 ...

  6. git备忘(长久更新)

    一直想了解一下git,正好最近的有一个问题就是,实验室写的代码,怎么同步到自己宿舍的笔记本上面来.最开始想用dropbox,但是用VS的人都知道,工程文件里面会给你生成乱七八糟的很多东西,很占空间,d ...

  7. git服务器gitlab之搭建和使用--灰常好的git服务器【转】

    转自:http://blog.csdn.net/zy416548283/article/details/38057925 git服务器比较有名的是gitosis和gitolite,这两个管理和使用起来 ...

  8. 【Git - 基础篇】如何快速有效的管理你的代码 - 安装和配置

    [本文仅凭个人经验进行整理,如有错误,欢迎指正,互相学习^^] -------------------------------------------------------------------- ...

  9. 小团队git开发模式

    实验室要使用Git进行代码管理,但是git非常复杂,各种开发模式也是层出不穷.作为新手的偶们很是发囧啊!!网上搜了一下,发现很多并不适合我们小团队运作(它本身就是为Linux内核管理而开发的分布式代码 ...

随机推荐

  1. Window提高_3.1练习_双进程守护

    双进程守护 当打开一个进程A的时候,此进程检测是否存在进程B,如果不存在就创建进程B. 进程B的作用是检测进程A是否被关闭,如果被关闭了,就再创建一个进程A. 双进程守护A.exe代码如下: #inc ...

  2. org-table

    ‎ Table of Contents 1. table 1.1. 创建方式 1.2. 重新对齐 1.3. 行列编辑 1.4. 区域 1.5. 计算 1.6. 其他的 1.7. 行宽度 1.8. 列分 ...

  3. cc.Node—Action

    1: Action类是动作命令,我们创建Action,然后节点运行action就能够执行Action的动作; 2: Action分为两类: (1) 瞬时就完成的ActionInstant, (2) 要 ...

  4. 洛谷——P2094 运输

    P2094 运输 题目描述 现在已知N件商品,和搬运它们其中每一件的费用.现在搬家公司老板Mr.sb决定让我们每次任意选取2件商品.然后这2件商品只算一件商品的费用.但是这个商品的搬运费用是将选出的2 ...

  5. HDU - 6264 - Super-palindrome(思维)

    题意: 给出一个字符串,使得所有的奇数连续子串为回文串,输出最小变化次数 思路: 分析过后,只存在两种情况,1全部为一种字母,2形如abab交替类型 对于奇数位和偶数位单独计数,只需计算出奇数位或者偶 ...

  6. db2构建临时结果集

    一 values  ('1',2,3)   为一行   ‘1’   2    3   行数据类型可以不同  values  ('1',2,3),('f',5,6) 为两行 (values  1,2,3 ...

  7. Python反射、异常处理

    反射 :字符串到对象属性的映射 hasattr(obj,string), 判断对象obj里面是否有叫string的字段或方法 getattr(obj,string) 获取obj对象里名叫string的 ...

  8. [bzoj1042][HAOI2008][硬币购物] (容斥原理+递推)

    Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值的东西.请问每次有多少种付款方法. Input 第一 ...

  9. Windows 硬件开发人员怎样选择代码签名证书类型

    在建立 Windows 开发人员中心硬件仪表板帐户之前,你需要获取代码签名证书以保护数字信息的安全.此证书是用于建立你的公司对你所提交代码的所有权的接受标准.它让你可以用数字形式签署 PE 二进制文件 ...

  10. 【Codeforces 369C】 Valera and Elections

    [链接] 我是链接,点我呀:) [题意] 给你一棵树 让你选择若干个修理点. 这些修理点被选中之后,节点i到1号节点之间的所有"坏路"都会被修好 问最少需要选择多少个点才能将所有的 ...