Git学习日志
2015-03-19 14:20
141 查看
Git学习文档
1.登录远程服务器 192.168.1.10
2.建立git 目录 /home/git/yu/git
3.切换到git工作目录,创建项目 git init --bare test.git
4.客户端下载 git clone git@192.168.1.10:/home/git/yu/git/test.git
5.免登录设置
客户端执行 ssh-keygen -t rsa 在.ssh目录生成 id_rsa.pub 文 件 scp 到服务器 cat id_rsa.pub >> /home/git/.ssh/authorized_keys
6.Git提交命令
git add filename
git commit -m “注释”
若执行git push 报错
http://stackoverflow.com/questions/13148066/warning-push-default-is-unset-its-implicit-value-is-changing-in-git-2-0
http://stackoverflow.com/questions/19720711/git-push-warning-questions
7.Git分支相关命令
查看分支 git branch -a
创建分支 git branch name
切换分支 git checkout name
创建并切换 git checkout -b name
合并某分支到当前分支 git merge name
删除分支 git branch -d name
8.普通合并 git merge --no-ff -m “注释” name
9.快速合并
10.普通合并
11.分支管理策略
主分支 master
开发分支 develop
功能分支 feature
预发布分支 release
BUG分支 other
12.执行git push 命令时报错
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs 'git@192.168.1.10:/home/git/yu/git/test.git'
解决办法:
git push origin branchname
原因:
首次提交push,Git 找不到你要提交的版本。
13.服务端执行git命令提示
fatal: This operation must be run in a work tree
解决办法:
git config --unset core.bare
原因:
http://stackoverflow.com/questions/1456923/why-am-i-getting-the-message-fatal-this-operation-must-be-run-in-a-work-tree
14.Git常用命令
1>.git pull 更新服务器代码到本地
git pull origin master是将origin这个版本库的代码更新到本地的
2>.master主分支
git tag 给最近一次提交打个标签,git 里面叫“里程碑”。
git tag -m “hello git”
3>.git log 查看提交信息
a). git log -p 查看历次的log信息及更改情况
b). git log -p -4 查看距现在最近的4次的log信息及更改情况
c). git log foldername/ 查看关于foldername/目录修改相关的log 信息
d). git log --stat 查看log显示文件修改情况
e). git log --stat packages/apps/Contacts/ 查看关于 packages/apps/Contacts/目录修改相关的log显示的文件修改 情况
4>.git status 查看工作目录和代码仓库的改动情况
5>.Git fetch
从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最 新代码)
相当于从远程获取最新版本到本地,不会自动merge,比Git pull更安 全些。
使用此方法来获取服务器上的更新。
例如:如果使用git checkout nov/eclair_rocket (nov/eclair_rocket为 服务器上的 分支名),则是获取上次使用git fetch命令时从服务器上下 载的代码;如果先使 用 git fetch ,再使用git checkout nov/eclair_rocket,则是先从服务器上获取最新的更新信息,然后从 服务器上下载最新的代码。
6>.git show
显示对象的不同类型。
7>.git config
利用这个命令可以新增、更改Git的各种设置,例如
git config branch.master.remote origin
就将master的远程版本库设置为别名叫做origin版本库。
8>.git revert
还原某次对版本的修改,例如:git revert commit_id (其中commit_id 为commit代码时生成的一个唯一表示的字符串)
例如:
git revert dfb02e6e4f2f7b573337763e5c0013802e392818 (执行此操 作,则还原上一次commit的操作)
15.Git常见问题
1>.git 修改提交用户名、用户邮箱等信息
git config --global user.name "Your Name"
git config --global user.email you@example.com
全局的通过vim ~/.gitconfig来查看,编辑
详见 http://blog.chinaunix.net/uid-26997997-id-3231891.html
2>."remote:error:refusing to update checked out branch:refs/heads/master"问题
解决办法:
这是由于git默认拒绝了push操作,需要进行设置,修改.git/config 文件后面添加如下代码:
3>.无法查看push后的git中文件的原因与解决方法
在初始化远程仓库时最好使用 git --bare init 而不要使用 git init
4>.如果使用了git init初始化,则远程仓库的目录下,也包含work tree, 当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就 没有问题), 那么push后的结果不会反应 在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内 容。
解决方法:
必须得使用命令 git reset --hard 才能看到push后的内容.
研究了很久不得其解,然后找到一条命令凑合着能用了:
登录到远程的那个文件夹,使用
git config --bool core.bare true
详见 : http://www.cnblogs.com/cosiray/archive/2012/06/01/2530967.html
1.登录远程服务器 192.168.1.10
2.建立git 目录 /home/git/yu/git
3.切换到git工作目录,创建项目 git init --bare test.git
4.客户端下载 git clone git@192.168.1.10:/home/git/yu/git/test.git
5.免登录设置
客户端执行 ssh-keygen -t rsa 在.ssh目录生成 id_rsa.pub 文 件 scp 到服务器 cat id_rsa.pub >> /home/git/.ssh/authorized_keys
6.Git提交命令
git add filename
git commit -m “注释”
若执行git push 报错
http://stackoverflow.com/questions/13148066/warning-push-default-is-unset-its-implicit-value-is-changing-in-git-2-0
http://stackoverflow.com/questions/19720711/git-push-warning-questions
7.Git分支相关命令
查看分支 git branch -a
创建分支 git branch name
切换分支 git checkout name
创建并切换 git checkout -b name
合并某分支到当前分支 git merge name
删除分支 git branch -d name
8.普通合并 git merge --no-ff -m “注释” name
9.快速合并
10.普通合并
11.分支管理策略
主分支 master
开发分支 develop
功能分支 feature
预发布分支 release
BUG分支 other
12.执行git push 命令时报错
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs 'git@192.168.1.10:/home/git/yu/git/test.git'
解决办法:
git push origin branchname
原因:
首次提交push,Git 找不到你要提交的版本。
13.服务端执行git命令提示
fatal: This operation must be run in a work tree
解决办法:
git config --unset core.bare
原因:
http://stackoverflow.com/questions/1456923/why-am-i-getting-the-message-fatal-this-operation-must-be-run-in-a-work-tree
14.Git常用命令
1>.git pull 更新服务器代码到本地
git pull origin master是将origin这个版本库的代码更新到本地的
2>.master主分支
git tag 给最近一次提交打个标签,git 里面叫“里程碑”。
git tag -m “hello git”
3>.git log 查看提交信息
a). git log -p 查看历次的log信息及更改情况
b). git log -p -4 查看距现在最近的4次的log信息及更改情况
c). git log foldername/ 查看关于foldername/目录修改相关的log 信息
d). git log --stat 查看log显示文件修改情况
e). git log --stat packages/apps/Contacts/ 查看关于 packages/apps/Contacts/目录修改相关的log显示的文件修改 情况
4>.git status 查看工作目录和代码仓库的改动情况
5>.Git fetch
从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最 新代码)
相当于从远程获取最新版本到本地,不会自动merge,比Git pull更安 全些。
使用此方法来获取服务器上的更新。
例如:如果使用git checkout nov/eclair_rocket (nov/eclair_rocket为 服务器上的 分支名),则是获取上次使用git fetch命令时从服务器上下 载的代码;如果先使 用 git fetch ,再使用git checkout nov/eclair_rocket,则是先从服务器上获取最新的更新信息,然后从 服务器上下载最新的代码。
6>.git show
显示对象的不同类型。
7>.git config
利用这个命令可以新增、更改Git的各种设置,例如
git config branch.master.remote origin
就将master的远程版本库设置为别名叫做origin版本库。
8>.git revert
还原某次对版本的修改,例如:git revert commit_id (其中commit_id 为commit代码时生成的一个唯一表示的字符串)
例如:
git revert dfb02e6e4f2f7b573337763e5c0013802e392818 (执行此操 作,则还原上一次commit的操作)
15.Git常见问题
1>.git 修改提交用户名、用户邮箱等信息
git config --global user.name "Your Name"
git config --global user.email you@example.com
全局的通过vim ~/.gitconfig来查看,编辑
详见 http://blog.chinaunix.net/uid-26997997-id-3231891.html
2>."remote:error:refusing to update checked out branch:refs/heads/master"问题
解决办法:
这是由于git默认拒绝了push操作,需要进行设置,修改.git/config 文件后面添加如下代码:
[receive] denyCurrentBranch = ignore
3>.无法查看push后的git中文件的原因与解决方法
在初始化远程仓库时最好使用 git --bare init 而不要使用 git init
4>.如果使用了git init初始化,则远程仓库的目录下,也包含work tree, 当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就 没有问题), 那么push后的结果不会反应 在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内 容。
解决方法:
必须得使用命令 git reset --hard 才能看到push后的内容.
研究了很久不得其解,然后找到一条命令凑合着能用了:
登录到远程的那个文件夹,使用
git config --bool core.bare true
详见 : http://www.cnblogs.com/cosiray/archive/2012/06/01/2530967.html
相关文章推荐
- Git学习教程(六)Git日志
- Git学习教程(六)Git日志
- Git学习日志
- Git学习教程(六)Git日志
- Git命令学习之旅——日志和穿梭版本号
- git分布式学习日志(持续更新)
- Git学习教程(六)Git日志
- 【西祠日志】【05】修修补补asp留言板,学习git,asp的ajax实现(2015.07.21周二)
- GIT 学习二 (查看日志和回退)
- 【工具】我的Git学习日志
- Git学习日志
- Git学习教程(六)Git日志
- linux与git学习日志
- Git命令学习之旅——日志和穿梭版本
- 学习日志:git和github
- git学习日志
- Git学习教程(六)Git日志
- 学习日志:osc git的简单使用
- Git学习教程(六)Git日志
- Git&GitHub学习日志