<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ~~~ git編譯安裝與常用命令 ========================================= 一:編譯安裝與設置 1.1:簡介 github官網地址(下載源碼包):https://github.com/git/git.git git 在 windows mac等系統下載:https://git-scm.com/downloads 1.2:依賴關系(解決常見的依賴關系) ~]# yum -y install gcc openssl openssl-devel curl curl-devel unzip perl perl-devel expat expat-devel zlib zlib-devel asciidoc xmlto gettext-devel openssh-clients ~]# yum -y install openssh-clients # ssh-keygen 出現 -bash: ssh: command not found 的解決辦法 1.3:編譯安裝 方式一: ~]# make prefix=/usr/local/git all doc ~]# make prefix=/usr/local/git install install-doc install-html 方式二: ~]# yum -y install autoconf ~]# make configure 或者 autoconf # 備注:生成 configure 文件 ~]# ./configure --prefix=/usr/local/git ~]# make all doc ~]# make install install-doc install-html 方式三: ~]# yum -y install git # 安裝 git ~]# yum -y install git-all.noarch # 安裝 git 所有的包,非必須 1.4:環境配置 ~]# echo 'export PATH=/usr/local/git/bin:$PATH' > /etc/profile.d/git.sh ~]# . /etc/profile.d/git.sh ~]# git --version # 查看版本 1.5:man 文檔配置 ~]# vim /etc/man_db.conf MANDATORY_MANPATH /usr/local/git/share/man 查看幫助 格式一: ~]# git help init 格式二: ~]# man git-init 1.6:ssh用戶,權限,服務器身份認證,初始化倉庫 與 拉取倉庫 1:添加用戶: ~]# useradd git 2:權限(用戶組合用戶均為git): /home/git/.ssh 權限為:700 /home/git/.ssh/authorized_keys 權限為:600 ~]# mkdir /home/git/.ssh ~]# chmod 700 /home/git/.ssh ~]# touch /home/git/.ssh/authorized_keys ~]# chmod 600 /home/git/.ssh/authorized_keys ~]# chown -R git:git /home/git/.ssh # 注意: id_rsa 權限為 600 id_rsa.pub 權限為 644 3:服務器身份認證(authorized_keys): 把本地的公鑰 id_rsa.pub 里面的內容加入到 /home/git/.ssh/authorized_keys,一行一個,可以加入多個公鑰,git 操作時不再需要密碼。 4:初始化倉庫:(結尾為 .git) 創建空項目 ~]# cd /home/git # 進入git家目錄 ~]# git init --bare useryx.git # 例如 git init --bare 倉庫名.git 項目已有內容 ~]# git init # cd 進入項目進行初始化 ~]# git clone --bare 目錄名 倉庫.git # 例如:git clone --bare useryx useryx.git # 倉庫外面執行 5:修改倉庫用戶組為 git ~]# chown git:git useryx.git 6:拉取倉庫 ~]# git clone [ssh://]用戶名@地址:倉庫名.git # 例如:git clone git@192.168.31.73:useryx.git 或者 家目錄下的一個文件內如 git clone git@192.168.31.73:/home/git/dir/a.git 1.7:禁止ssh用戶登錄,可以不用設置。 ~]# vim /etc/passwd # 修改git 用戶登錄shell 1:使用linux系統的 /sbin/nologin 不允許登錄 git:x:1001:1001::/home/git:/sbin/nologin 2:使用git服務 git-shell 的 /usr/local/git/bin/git-shell,which git-shell 查看命令位置。 git:x:1001:1001::/home/git:/usr/local/git/bin/git-shell 二:客戶端初始化配置 2.1:客戶端生成公鑰與私鑰 ssh-keygen(切換至需要生成公鑰與私鑰的用戶) ~]# su - git # 切換至git用戶 ~]# ssh-keygen # 使用默認 rsa 算法,2048 長度 ~]# ssh-keygen -t rsa -b 4096 -C 'git@aliyun.com' -P '3a/Jd3v1wq6M1lrAO+Qc4bCHb2W3SynSTg3CT1GS' # -t 指定算法 # -C 添加一個注釋 # -b 指定加密長度,默認是2048,建議為4096 # -P 使用加密密碼串 ~]# openssl rand -base64 30 # 30 為生成字符串的長度 # 使用 ssh-keygen 按照提示操作,也可直接回車。 2.2:設置用戶名和郵箱 ~}# git config --global user.name "用戶名" ~}# git config --global user.email "郵箱@aliyun.com" 2.3:初始化添加文件夾 1:創建新版本庫(正常流程操作) git clone git@192.168.18.35:useryx.git cd useryx touch README.md git add README.md git commit -m "add README" git push -u origin master 2:已存在的文件夾或 Git 倉庫 cd useryx git init git remote add origin git@192.168.18.35:useryx.git git add . git commit -m '初始化' git push -u origin master 2.4:查看默認配置文件 ~]# git config --list 或者 git config --l 2.5:不更新文件( .gitgmore) ~]# find ./ -name .gitignore # 查找 .gitignore 文件 ~]# find ./ -name .gitignore -delete # 刪除 .gitignore 文件 # 不更新的文件或目錄放于此文件中 2.6:本地克隆 ~]# git clone file://root/test /tmp/test ~]# git clone test /tmp/test # 本地的 git 項目克隆 三:基礎操作 3.1:添加文件(add) ~]# git add filename # 添加某個文件 ~]# git add . 或者 git add -A # 添加當前目錄所有文件 3.2:刪除文件(rm) ~]# rm # 刪除文件但不會刪除索引 ~]# git rm -f filename # 未提交需要 -f 刪除 ~]# git rm filename # 刪除文件并刪除索引 ~]# git rm --cached file # 刪除索引,改變為未追蹤狀態 ~]# git cat-file -p hash碼 # 查看文件內容 3.3:修改文件(mv) ~]# mv # 索引添加新文件,原來的索引會保留。提交時會有錯誤 ~]# git mv filename newfilename # 修改文件同時修改索引 3.4:索引文件添加到快照(commit) ~]# git commit -m '注釋' ~]# git commit -am '注釋' # 添加文件并提交注釋 3.5:狀態 ~]# git status 3.6:文件追蹤 已追蹤的(tracked) ~]# git ls-files 未追蹤的(igored) ~]# git ls-files -o 被忽略的(untracked): 查看文件 .gitignore 3.7:提交與拉取 ~]# git pull # 拉取:從遠程獲取最新版本到本地,不會自動merge ~]# git fetch # 拉取:從遠程獲取最新版本到本地,會自動merge ~]# git push origin master # 提交:推送本地到遠程主分支, 3.8:日志(log) ~]# git log ~]# git log --oneline # 行顯示,短格式 ~]# git log --graph # 樹型圖 ~]# git log --pretty=oneline --abbrev-commit 3.9:文件比較不同 ~]# git diff filename1 filename2 # 比較文件 ~]# git diff dev # 比較當前分支與主分支 3.9:撤銷操作(reset) 1:git reset –mixed <commit id> <filename>:此為默認方式,它回退到某個版本,只保留源碼,回退commit和index信息 2:git reset –soft <commit id> <filename>:只回退 commit 的信息,保留 index ,如果還要提交,直接commit 3:git reset –hard <commit id> <filename>:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容 HEAD:當前分支的最近提交 ORIG_HEAD:合并時,新生成的提交保存于此引用中 HEAD^ 回滾前一次,工作目錄不受影響 ^ 回退到上一次 ~<n> 回到幾次,等于連續的 HEAD^ ~]# git reset --hard ORIG_HEAD # 提交后回退 commit 之前狀態 四:分支 3.1:查看與新建分支 ~]# git branch --all ~]# git branch --list 3.:2:創建與切換分支 ~]# git branch <branch> # 創建分支(基于當前分支) ~]# git branch <branch> <hsah碼> # 創建分支(基于指定 commit id 分支) ~]# git branch bug/first # 創建父目錄分支(基于當前分支) ~]# git branch bug/first <hsah碼> # 創建父目錄分支(基于指定 commit id 分支) ~]# git checkout <branch> # 切換分支 ~]# git checkout -b <branch> # 創建分支時直接切換 3.3:查看分支以及相關的提交 ~]# git branch # 列出分支 ~]# git branch --list # 列出分支 ~]# git show-branch <branch> # 顯示branch分支詳細信息 3.4:刪除分支 ~]# git branch -d <branch> ~]# git branch -D <branch> # 強制刪除分支 ~]# git push origin --delete <branch> # 刪除遠程分支 ~]# git push --delete origin <branch> # 刪除遠程分支 3.5:綁定本地分支到遠程 ~]# git push --set-upstream origin dev # 本地在 dev 分支上,執行此次操作后在 dev 分支只使用 git push 3.6:比較兩個分支差異 ~]# git diff dev # 比較當前分支與 dev 分支的區別 3.5:合并分支 ~]# git merge dev # 合并 dev 分支到當前分支 3.7:恢復到合并之前 ~]# git reset --merge # 撤銷到合并之前 3.8:查看失敗的合并文件信息 ~]# git ls-files --unmerged 1:基礎版本 2:我們的版本 3:他們的版本 ~]# cat filename(沖突的文件)修改文件內容 ++<<<<< ============ ++>>>>>>>>>. # 修改完成文件后 add 再次提交 3.9:重命名分支 ~]# git branch -m <branch> <newbranch> # 重命名本地分支 3.10:推送分支 ~]# git push origin <branch> # 推送本地分支到遠程 五:打標簽 5.1:tag介紹 git 有 commit,commit號是一串字符不便于查找,而 tag 的作用是更加清晰明了。 把完整的項目提交到 tag 標簽,就可以實現版本的持續發布。 5.2:創建標簽 ~]# git tag <name> 5.3:查看標簽 ~]# git tag ~]# git show <tag name> # 可以查看到commit id 5.4:對 commit id 打標簽 ~]# git tag <tag name> <commit id> ~]# git tag -a <tag name> -m "注釋信息" <commit id> 5.5:刪除標簽 ~]# git tag -d <tagname> # 本地標簽 ~]# git push origin :refs/tags/<tagname> # 遠程標簽 5.6:推送標簽 ~]# git push origin <tagname> 推送指定的 ~]# git push origin --tags # 推送全部 六:常見問題解決辦法 6.1:git status 查看狀態時中文亂碼 git config --global core.quotepath false 6.2:文件權限引起的沖突(文件顯示被修改)(低版本git一般會出現此問題) git config core.filemode false ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看