java 发表于 2017-7-6 10:29:19

Git 提交方式

为了使时间线不出现回环,使时间线性。push代码前先按以下两种方式同步代码方法一git stash   # 先缓存本地修改
git pull      # 同步远端修改
git stash pop # 取出本地修改
git commit    # 正常提交代码
git push origin xxx   # 推送代码
方法二:git commit
git pull -r # ps : 注意一定要加-r
git push origin xxx说明git pull --rebase注: 如果本地修改了文件后没有commit, 是无法执行这个命令的。 如果本地的改动暂时不想提交, 可以执行 git stash把更改暂存起来,代码取下后用git stash pop恢复。
rebase:如果本地执行了commit, 取代码的时候没有加上 –rebase选项, 那么代码取下后, 分支线就有可能变成以下样子:*   commit 4763ad3a3fe0997ac3b8b961e5b48b112e5c90d3
|\Merge: 2cfc4bb bd310c9
| | Author: zhao11 <zhao11@gmail.com>
| | Date:   Fri Nov 21 20:17:31 2014 +0800
| |
| |   Merge branch 'master' of git@github.com:zmkj/zmkj.git
| |
| * commit b0c04ba1081c1774fc5736682230038fcaa28d7b
| | Author: Tiaot11 <Tiaot11@gmail.com>
| | Date:   Thu Nov 20 17:25:23 2014 +0800
| |
| |   修改3
| |
* | commit 2cfc4bb285586517cd40846b39ce649d89bf19bd
|/Author: zhao11 <zhao11@gmail.com>
|   Date:   Fri Nov 21 20:15:39 2014 +0800
|
|       修改2
|
* commit af140294a9e9d0382d75a79ff739402d4f5fa4f1
| Author: zhao11 <zhao11@gmail.com>
| Date:   Thu Nov 20 09:01:31 2014 +0800
|
|   修改1
|使用git log --graph可以查看,针对以上例子的情况, 可以使用:git rebase b0c04ba1081c1774fc5736682230038fcaa28d7brebase的参数是一个提交记录sha1,这里选的是log为“修改3", 也可以选其他,根据具体情况而定。执行完rebase命令后没意外的话分支线应该就正常了, 还是用git log --graph进行确认(分支线正常, 没有干掉正常的提交记录) 确认无误后就可以push到github了, 注意, 如果在github上的分支线已经是这样“乱”了的话, push的时候要加上–force选项(谨慎!!!), –force即强制把自己本地的代码库覆盖github上的。
rebase到底做了什么事情:rebase就是选取某个提交作为起点, 沿着这个提交点往下构建一条新的分支线, 分支线以外的提交以patch的形式一个一个地打到这条分支线上。





java 发表于 2017-7-19 17:50:00

Linux下以https(用户名密码)方式同步代码
git clone https://github.com/xxx/shell.git
...
git commit
git push -u origin master


http://www.111cn.net/sys/linux/79505.htm
页: [1]
查看完整版本: Git 提交方式