1,git的使用
(1)使用git提交代码的流程
首先查看一下状态 git status
git add file_name
git commit -s
将代码push到代码库中 git push origin HEAD:refs/for/BRANCH_NAME,branch_name是提交到的分支的名字
(2)切换到另一个分支提交代码
查看分支的名字和当前自己所处的分支 git branch -va
切换分支 git checkout -b aa(自己命名的) origin/branch_name_dev
git branch -va
切换分支完成后执行正常的提交代码的流程
(3)撤销提交在本地的代码
首先查看commit 号
git log fime_name.c 或者 git show file_name.c 得到如下的提交号
commit d49028ededa6370addf3aca74502273147c20dd6
然后执行撤销命令:git reset --hard d49028ededa6370addf3aca74502273147c20dd6
(4)如何将别人提交到服务器上的最新代码,更新到自己电脑中来
先通过git status查看下本地状态,这样可以知道是否有修改过的文件没有提交,因为如果你本地修改的文件没有提交而服务器中存在提交修改的版本,那么更新过程中导致更新过程中就可能产生冲突,所以通过查看状态确保本地全部提交过,或者没有修改过别人开放的文件
git status
命令执行成功后,就把服务器中较新代码更新到本地了
git pull
git pull 还可以加上一个修改的路径:
在git库的路径下面找到包含管理git库的东西: .gitignore
git pull ssh:///write.blog.csdn.net/postedit
(5)当使用git status的时候有时候会出现如下的内容
尚未暂存以备提交的变更:
(使用 "git add/rm <file>..." 更新要提交的内容)
(使用 "git checkout -- <file>..." 丢弃工作区的改动)
假如有一个改动尚未暂存以备提交的改动file,想把这个file丢弃掉可以执行
git checkout file_name
(6)git clone
在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, git://,或是只是以一个用户名(git 会认为这是一个ssh 地址)为前辍.
克隆一个版本库
git clone https://github.com/jquery/jquey.git
(7)git pull 与git fetch的区别
git fetch :相当于是从远程获取最新版本到本地,不会自动merge
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
从远程获取最新的版本到本地的test分支上
之后再进行比较合并
git pull :相当于是从远程获取最新版本并merge到本地
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
git diff
此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异
也就是修改之后还没有暂存起来的变化内容。
用 repo 拿的时候其实 .git 统统会放在 .repo 里,然后外面的.git都只是link
其实 repo 只是管理多 git 的工具,里面版本管理部分实际用的都是git,它的好处就是能够把多个git组合成一个大的项目
你如果需要省空间,可以用 repo sync -c ,这样只会获取当前相关的分支。
svn delete my_file
svn commit -m"delete my_file"
svn status