掌握 git 与 svn 常用命令 最最最基础

183 阅读2分钟

面试官:说一说 git 与 svn 常用命令?

git

命令释义
git clone [url]已经有一个远程的Git版本库,只需要在本地克隆一份
git init本地已经创建了一个工作目录,初始化
git remote  add  [name] [url]与远程的仓库建立连接
git remote set-url --push [name] [newUrl]修改远程的仓库
git pull [remoteName] [localBranchName]拉代码
git branch查看本地所有分支
-r // 查看远程所有分支
-m // 重命名本地分支
git checkout [name]切换分支
git add. //将所有修改添加到暂存区
[file1] [file2] //添加一个或多个文件到暂存区
[dir] //加指定目录到暂存区,包括子目录
git diff查看文件差异
git rm将文件从缓存区中移除
git commit -m xxxx将暂存区内容提交到版本库
git push [remoteName] [localBranchName]推代码
git log查看历史日志(看不到被删除的commitid)
git reflog可查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git merge [branch]分支的代码合并到当前分支上
git revert [commit id]还原一个版本的修改 重做某一个 commit 提交的内容(revert执行后会产生新的commit记录,是通过一次新的commit来恢复到之前旧的commit,但revert会保留恢复的该次提交后面的其它提交内容,假如后面的提交与要恢复的提交更改了同一地方,此时用revert就会产生冲突)
git reset --hard [commit-id]回滚到指定版本 (代码会完全回退到本次提交时的状态,工作暂存区以及本次提交后面的提交内容将会被完全清除,包括提交记录)再使用git push -f或--force强制推送。

问题:git 有a和b分支,你在a分支怎么使用b分 支代码,不使用合并。

git checkout 分支A

gi 1og 分支B (查找分支B上你需要的提交的 哈希值)

git cherry-pick 提交的哈希值(这将把特定提交的更改应用到分支A中。需要注意的是,如果这些更改与分支A上的其他更改产生冲突,你需要解決这些冲突。)

svn

命令释义
svn cleanupsvn
svn checkout PATH(PATH是服务器上的目录)将文件Checkout到本地目录
svn add*.java(添加当前目录下所有的java文件)
test.java(添加test.java)
svn commit -m "add test file for my test" test.java将改动的文件提交到版本库
svn update更新
svn ls显示目录
svn diff -r 274901:274903274901 版本 和274903版本的差异
svn merge合并